Articles of plyr

R: divide la lista no balanceada en la columna data.frame

Supongamos que tiene un dataframe con la siguiente estructura: df <- data.frame(a=c(1,2,3,4), b=c("job1;job2", "job1a", "job4;job5;job6", "job9;job10;job11")) donde la columna b es una lista delimitada por punto y coma (desequilibrada por fila). El data.frame ideal sería: id,job,jobNum 1,job1,1 1,job2,2 … 3,job6,3 4,job9,1 4,job10,2 4,job11,3 Tengo una solución parcial que toma casi 2 horas (170K filas): # […]

Objeto no encontrado error con ddply dentro de una función

Esto realmente ha desafiado mi capacidad para depurar el código R. Deseo usar ddply() para aplicar las mismas funciones a diferentes columnas que se nombran secuencialmente; p.ej. a B C. Para hacer esto, bash pasar repetidamente el nombre de la columna como una cadena y usar el eval(parse(text=ColName)) para permitir que la función haga referencia […]

Crea columnas a partir de factores y cuenta

Un problema aparentemente fácil es mantenerme muy ocupado. Tengo un dataframe: > df1 Name Score 1 Ben 1 2 Ben 2 3 John 1 4 John 2 5 John 3 Me gustaría crear un resumen de la tabla como este: > df2 Name Score_1 Score_2 Score_3 1 Ben 1 1 0 2 John 1 1 […]

Unir los valores agregados al dataframe original

Uno de los patrones de diseño que uso una y otra vez es realizar un “grupo por” o “dividir, aplicar, combinar (SAC)” en un dataframe y luego unir los datos agregados a los datos originales. Esto es útil, por ejemplo, al calcular la desviación de cada condado de la media del estado en un dataframe […]

Encuentre el número de filas usando dplyr / group_by

Estoy usando el conjunto de datos mtcars . Quiero encontrar la cantidad de registros para una combinación particular de datos. Algo muy similar a la cláusula count(*) group by en SQL. ddply() de plyr me funciona library(plyr) ddply(mtcars, .(cyl,gear),nrow) tiene salida cyl gear V1 1 4 3 1 2 4 4 8 3 4 5 […]

¿Por qué es plyr tan lento?

Creo que estoy usando plyr incorrectamente. ¿Podría alguien decirme si se trata de un código plyr ‘eficiente’? require(plyr) plyr <- function(dd) ddply(dd, .(price), summarise, ss=sum(volume)) Un pequeño contexto: tengo algunos grandes problemas de agregación y he notado que cada uno tomaba algo de tiempo. Al tratar de resolver los problemas, me interesé en la realización […]

R: acelerar las operaciones de “agrupar por”

Tengo una simulación que tiene un gran agregado y un paso combinado en el medio. Creé un prototipo de este proceso utilizando la función ddply () de plyr, que funciona muy bien para un gran porcentaje de mis necesidades. Pero necesito que este paso de agregación sea más rápido ya que tengo que ejecutar simulaciones […]

Cómo reemplazar NA con media por subconjunto en R (imputar con plyr?)

Tengo un dataframe con la longitud y el ancho de varios artrópodos de las entrañas de las salamandras. Debido a que algunas agallas tenían miles de ciertos artículos de presa, solo medí un subconjunto de cada tipo de presa. Ahora quiero reemplazar cada individuo no medido con el largo y ancho promedio para esa presa. […]

¿Qué significa el punto en R – preferencia personal, convención de nomenclatura o más?

Estoy (probablemente) NO refiriéndome al “todas las demás variables”, que quiere decir var1~. aquí. Fui señalado a plyr una vez más y miré en mlply y me pregunté por qué los parámetros se definen con un punto mlply como este: function (.data, .fun = NULL, …, .expand = TRUE, .progress = “none”, .parallel = FALSE) […]

significado del error ddply: el atributo ‘nombres’ debe tener la misma longitud que el vector

Estoy pasando por Machine Learning for Hackers, y estoy atrapado en esta línea: from.weight <- ddply(priority.train, .(From.EMail), summarise, Freq = length(Subject)) Lo cual genera el siguiente error: Error in attributes(out) <- attributes(col) : 'names' attribute [9] must be the same length as the vector [1] Este es un traceback (): > traceback() 11: FUN(1:5[[1L]], …) […]