válidos swirl obten muy longitud lista lección funciones extensa colores r split dataframe

obten - lección de swirl



Dividir el marco de datos utilizando dos columnas de datos y aplicar la transformación común en la lista de marcos de datos resultantes (2)

Quiero dividir un marco de datos grande en una lista de marcos de datos de acuerdo con los valores en dos columnas. Luego deseo aplicar una transformación de datos común en todos los marcos de datos (transformación de retardo) en la lista resultante. Soy consciente del comando dividir pero solo puedo hacer que funcione en una columna de datos a la vez.


Debe incluir todos los factores que desea dividir en una lista, por ejemplo:

split(mtcars,list(mtcars$cyl,mtcars$gear))

Entonces puede usar lapply en esto para hacer qué más desea hacer.


que tal este:

library(plyr) ddply(df, .(category1, category2), summarize, value1 = lag(value1), value2=lag(value2))

parece un excelente trabajo para el paquete ddply() y la función ddply() . Si aún hay preguntas abiertas, proporcione algunos datos de muestra. La división también debería funcionar en varias columnas:

df<- data.frame(value=rnorm(100), class1=factor(rep(c(''a'',''b''), each=50)), class2=factor(rep(c(''1'',''2''), 50))) g <- c(factor(df$class1), factor(df$class2)) split(df$value, g)