Hola, Por utilizar alguna de las referencias que te ha aportado Daniel y que veas cómo se utilizan sobre un mismo ejemplo:
#----------------------- library(data.table) DT <- data.table(warpbreaks) head(DT) DT[, mean(breaks), by="tension"] DT[, mean(breaks), by="wool"] DT[, mean(breaks), by=c("wool","tension")] #---------- aggregate(breaks ~ wool, data = warpbreaks, mean) aggregate(breaks ~ wool + tension, data = warpbreaks, mean) #----------------------- Hay más varias formas más de hacer esto mismo. Mi sugerencia es que te quedes con "aggregate()" para empezar. Saludos, Carlos Ortega www.qualityexcellence.es El 27 de julio de 2015, 22:07, daniel <daniel...@gmail.com> escribió: > Por favor mantén tus consultas dentro de r-help-es, a otras personas > también puede serle útil la pregunta o las respuestas, además tendrás > oportunidad de mejores respuestas de otros participantes. > > Interpreto que quieres algo así (uso mi ejemplo) > colMeans(aves) > # area dist distm otro > # 5.5 5.5 5.5 5.5 > colMeans(aves[aves$area > 6,1:2]) > #area dist > # 8.5 6.5 > > # si lo que buscas no exite como col... puedes usar apply > apply(aves[aves$area <= 6,1:2], 2, median) > # area dist > # 3.5 3.5 > > Te recomiendo leas ?aggregate, en el paquete plyr la función ddply o en el > paquete data.table la función data table ( no estoy seguro si usando estas > funciones primero no tienes que crear una nueva columna con los grupos > 6 > y <= 6, pero te lo dejo a ti. > > El 27 de julio de 2015, 16:32, Susana deus alvarez < > susanadeus.deusalva...@gmail.com> escribió: > > > Perdón que te haga otra pregunta, pero también estoy trancada en otra > > cosa: con la matriz aves cree una nueva matriz donde divide la variable > > area en dos, una de area pequeña y otra de area grande. Entonces me > > quedaría un nuevo data.frame con 4 columnas: abundancia, area, area 2 > > (mayor a 10) y area3 (menor a 10), entonces querría hacer la media de la > > abundancia en función del area2, lo intento asi: media<- > tapply(dframe$V1, > > dframe$area2, mean) > > Pero no es asi porque yo quiero un solo número, no que me haga la media > de > > cada valor de area2, por lo que no se como hacer > > > > Muchas gracias > > > > Saludos > > > > > > > > El 27 de julio de 2015, 15:29, daniel <daniel...@gmail.com> escribió: > > > >> Algo así es lo que buscas? > >> > >> aves <- data.frame( area = sample(10), dist = sample(10), distm = > >> sample(10), otro = sample(10)) > >> str(aves) > >> #'data.frame': 10 obs. of 4 variables: > >> # $ area : int 4 6 10 2 9 7 3 8 1 5 > >> # $ dist : int 8 2 10 6 7 5 1 3 9 4 > >> # $ distm: int 1 9 7 10 6 4 3 8 2 5 > >> # $ otro : int 9 3 10 4 7 5 8 1 6 2 > >> avelog <- log10(aves[, c("area", "dist", "distm")]) > >> str(avelog) > >> #'data.frame': 10 obs. of 3 variables: > >> # $ area : num 0.602 0.778 1 0.301 0.954 ... > >> # $ dist : num 0.903 0.301 1 0.778 0.845 ... > >> # $ distm: num 0 0.954 0.845 1 0.778 ... > >> ?log10 > >> > >> Espero haber entendido bien tu pregunta. > >> > >> Daniel Merino > >> > >> El 27 de julio de 2015, 15:11, Susana deus alvarez < > >> susanadeus.deusalva...@gmail.com> escribió: > >> > >>> Estimad@s, quería realizar una consulta > >>> > >>> Dado un data frame llamado aves, como puedo sustiuir las variables > area, > >>> dist y distm por sus logaritmos en base10 y volver a crear un data > frame? > >>> > >>> > >>> Muchas gracias > >>> > >>> Saludos > >>> > >>> Susana > >>> > >>> [[alternative HTML version deleted]] > >>> > >>> _______________________________________________ > >>> R-help-es mailing list > >>> R-help-es@r-project.org > >>> https://stat.ethz.ch/mailman/listinfo/r-help-es > >>> > >> > >> > >> > >> -- > >> Daniel > >> > > > > > > > -- > Daniel > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > -- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es