¿Hay una manera más rápida de hacer esto? Supongo que esto es innecesario y que una tarea como esta se puede realizar con funciones básicas. df <- ddply(df, "id", function(x) cbind(x, perc.total = sum(x$cand.perc))) Soy bastante nuevo en R. Miré by() , aggregate() y tapply() , pero no conseguí que funcionasen en absoluto o de […]
Tengo un dataframe que consiste en una ID , que es la misma para cada elemento en un grupo, dos fechas y el intervalo de tiempo entre estos dos. Uno de los objetos datetime es mi marcador de tiempo relevante. Ahora me gusta obtener un subconjunto del dataframe que consiste en la entrada más temprana […]
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): # […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 […]
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. […]