haciendo una operación plyr en cada fila de un marco de datos en R

Me gusta la sintaxis plyr. Cada vez que tengo que usar uno de los comandos * apply (), termino pateando al perro y poniéndome en un bender de 3 días. Entonces, por el bien de mi perro y de mi hígado, ¿cuál es la sintaxis concisa para realizar una operación ddply en cada fila de un marco de datos?

Aquí hay un ejemplo que funciona bien para un caso simple:

x <- rnorm(10)
y <- rnorm(10)
df <- data.frame(x,y)
ddply(df,names(df) ,function(df) max(df$x,df$y))

Eso funciona bien y me da lo que quiero. Pero si las cosas se vuelven más complejas, plyr se vuelve funky (y no como Bootsy Collins) porque plyr está masticando para hacer "niveles" de todos esos valores de punto flotante

x <- rnorm(1000)
y <- rnorm(1000)
z <- rnorm(1000)
myLetters <- sample(letters, 1000, replace=T)
df <- data.frame(x,y, z, myLetters)
ddply(df,names(df) ,function(df) max(df$x,df$y))

en mi caja esto mastica por unos minutos y luego regresa:

Error: memory exhausted (limit reached?)
In addition: Warning messages:
1: In paste(rep(l, each = ll), rep(lvs, length(l)), sep = sep) :
  Reached total allocation of 1535Mb: see help(memory.size)
2: In paste(rep(l, each = ll), rep(lvs, length(l)), sep = sep) :
  Reached total allocation of 1535Mb: see help(memory.size)

Creo que estoy abusando totalmente de plyr y no estoy diciendo que esto sea un error en plyr, sino un comportamiento abusivo de mi parte (a pesar del hígado y el perro).

En resumen, ¿hay un atajo de sintaxis para usar ddply para operar en cada fila como sustituto deapply(X, 1, ...)?

La solución que he estado usando es crear una "clave" que otorgue un valor único para cada fila y luego me pueda unir a ella.

 x <- rnorm(1000)
 y <- rnorm(1000)
 z <- rnorm(1000)
 myLetters <- sample(letters, 1000, replace=T)
 df <- data.frame(x,y, z, myLetters)
  #make the key
 df$myKey <- 1:nrow(df)
 myOut <- merge(df, ddply(df,"myKey" ,function(df) max(df$x,df$y)))
  #knock out the key
 myOut$myKey <- NULL

Pero sigo pensando que "tiene que haber una mejor manera"

¡Gracias!

Respuestas a la pregunta(1)

Su respuesta a la pregunta