Holap. Reproduje tu ejemplo y ciertamente las filas se duplican innecesariamente. No supe cómo corregir este comportamiento. Si no se pudiera arreglar esto, por favor considera la librería sqldf y obtendrás el resultado correcto:
>sqldf("select sol, dia, con, avg(media) as ave from dd group by sol, dia, con") sol dia con ave 1 con 1 0 -29.37000 2 con 2 0 -31.65000 3 con 3 0 -28.25000 ... donde dd es tu conjunto de datos. Salud. 2015-05-14 20:00 GMT-03:00 eric <ericconchamu...@gmail.com>: > Estimada comunidad tengo un problema del que no encuentro datos que me > ayuden mucho en la web. > > Estoy haciendo calculos por grupos con data,table. Tengo un archivo > (zp.res) con tres columnas que clasifican los datos (sol, con, dia) y una > columna de datos numericos (media), de la siguiente forma: > > sol con dia media > 1: con 0 1 -22.6 > 2: con 0 1 -36.6 > 3: con 0 1 -35.6 > > y quiero calcular el promedio de "media" (la col 4) agrupando con las > variables sol,con,dia. Lo hago de la siguiente forma: > > med <- zp.res[, mean(media), by="sol,dia,con"] > > cuando reviso "med" esta todo bien, se han calculado las medias y el > objeto tiene solo las filas que corresponden a los promedios con sus > respectivas columnas sol,con,dia que los identifican. Pero como notaran por > el codigo, la columna con el resultado no tiene un nombre asi es que R la > bautiza como V1. Quise ponele un nombre y agregue este al codigo de la > siguiente forma: > > med <- zp.res[, "ave":=mean(media), by="sol,dia,con"] > > el problema es que ahora el objeto med tiene el mismo numero de filas que > zp.res y repite el promedio para cada dato dentro del grupo obtenido con > by="sol,dia,con". Esto no me sirve pues tengo que graficar los promedios ... > > mmmmm puede que mi explicacion sea algo confusa, espero que me entiendan. > > Encontre que luego puedo renombrar la columna, pero no lo quiero hacer, > pues pienso que deberia ser estandar poder ponerle el nombre y que se > construya bien el objeto con los promedios inmediatamente. Ademas el > promedio es solo uno de los calculos que debo hacer y los otros tambien > quedan con el nombre V1 en la mismo data.table. > > Alguna idea de como hacerlo ? > > Adjunto archivo con datos. > > Saludos y gracias, eric. > > > > > > -- > Forest Engineer > Master in Environmental and Natural Resource Economics > Ph.D. student in Sciences of Natural Resources at La Frontera University > Member in AguaDeTemu2030, citizen movement for Temuco with green city > standards for living > > Nota: Las tildes se han omitido para asegurar compatibilidad con algunos > lectores de correo. > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > > -- «No soy aquellas sombras tutelares que honré con versos que no olvida el tiempo.» JL Borges [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es