[R-es] Suma de filas en marco de datos

Carlos J. Gil Bellosta cgb en datanalytics.com
Dom Jul 1 18:28:16 CEST 2012


Prueba así:

aggregate( datos2[,4:5], list(datos2$especie, datos2$año), sum )

Un saludo,

Carlos J. Gil Bellosta
http://www.datanalytics.com

El día 1 de julio de 2012 18:23, Manuel Spínola <mspinola10 en gmail.com> escribió:
> Muchas gracias Carlos,
>
> Eso también funcionó.
>
> Ahora, en mi conjunto de datos reales tengo 20 columnas a las cuales quiero
> aplicarle la suma.
>
> estoy intentando esto y me da error:
>
>> aggdata <-aggregate(cbind(df[, 3:22]) ~ especie + sitio, df, sum)
>
> Error en model.frame.default(formula = cbind(df[, 3:22]) ~ especie + sitio,
> :
>   invalid type (list) for variable 'cbind(df[, 3:22])'
>
> Saludos,
>
> Manuel
>
>
> El 1 de julio de 2012 09:51, Carlos J. Gil Bellosta <cgb en datanalytics.com>
> escribió:
>
>> Hola, ¿qué tal?
>>
>> Si tus columnas son m y n, puedes probar con
>>
>> aggregate( cbind(n, m) ~ especie + año, datos, sum )
>>
>> Un saludo,
>>
>> Carlos J. Gil Bellosta
>> http://www.datanalytics.com
>>
>>
>>
>> El día 1 de julio de 2012 17:37, Manuel Spínola <mspinola10 en gmail.com>
>> escribió:
>> > Muchas gracias Eva y Jorge,
>> >
>> > Siguiendo el consejo de Eva, el cual me funcionó, ¿qué tal si tengo más
>> > de
>> > un columna (col1, col2, col3, etc)? intenté algunas cosas como
>> >
>> > sum(c(col1, col2, col3)
>> >
>> > sum(df[, 3:22]) # son las columnas 3 a 22
>> >
>> > Saludos,
>> >
>> > Manuel
>> >
>> > El 1 de julio de 2012 08:11, Eva Prieto Castro
>> > <evapcastro en yahoo.es>escribió:
>> >
>> >> Hola, Manuel:
>> >>
>> >> Existirán varias maneras, pero a mí me resulta muy cómodo utilizar
>> >> consultas Sql:
>> >>
>> >> *dfSuma<-sqldf("select especie, sitio, sum(col1) from df group by
>> >> especie, sitio")
>> >> *
>> >> siendo *df *tu data.frame.
>> >>
>> >> Obs.: Necesitas instalar el paquete sqldf
>> >>
>> >> Un saludo
>> >> Eva
>> >>
>> >> --- El *dom, 1/7/12, Manuel Spínola <mspinola10 en gmail.com>* escribió:
>> >>
>> >>
>> >> De: Manuel Spínola <mspinola10 en gmail.com>
>> >> Asunto: [R-es] Suma de filas en marco de datos
>> >> Para: "R" <r-help-es en r-project.org>
>> >> Fecha: domingo, 1 de julio, 2012 15:06
>> >>
>> >> Estimados miembros de la lista,
>> >>
>> >> Tengo un marco de datos:
>> >>
>> >> especie   año     sitio   col1
>> >>
>> >> A           2008      1       3
>> >> A           2008      2       0
>> >> A           2008      3       1
>> >> B           2008      1       2
>> >> B           2008      2       1
>> >> B           2008      3       0
>> >> A           2009      1       5
>> >> A           2009      2       6
>> >> A           2009      3       2
>> >> B           2009      1       4
>> >> B           2009      2       0
>> >> B           2009      3       3
>> >>
>> >> y quisiera saber como puedo sumar la columna "col1" para cada especie,
>> >> por
>> >> sitio y para todos los años, es decir que la suma obtenga.
>> >>
>> >> especie    sitio  col1
>> >> A               1      8
>> >> A               2      6
>> >> A               3      3
>> >> B               1      6
>> >> B               2      1
>> >> B               3      3
>> >>
>> >> Saludos,
>> >>
>> >> Manuel
>> >>
>> >> --
>> >> *Manuel Spínola, Ph.D.*
>> >>
>> >> Instituto Internacional en Conservación y Manejo de Vida Silvestre
>> >> Universidad Nacional
>> >> Apartado 1350-3000
>> >> Heredia
>> >> COSTA RICA
>> >>
>> >> mspinola en una.ac.cr<http://es.mc296.mail.yahoo.com/mc/compose?to=mspinola@una.ac.cr>
>> >>
>> >> mspinola10 en gmail.com<http://es.mc296.mail.yahoo.com/mc/compose?to=mspinola10@gmail.com>
>> >> Teléfono: (506) 2277-3598
>> >> Fax: (506) 2237-7036
>> >> Personal website: Lobito de río <
>> >> https://sites.google.com/site/lobitoderio/>
>> >> Institutional website: ICOMVIS <http://www.icomvis.una.ac.cr/>
>> >>
>> >>     [[alternative HTML version deleted]]
>> >>
>> >>
>> >> -----Adjunto en línea a continuación-----
>> >>
>> >> _______________________________________________
>> >> R-help-es mailing list
>> >>
>> >> R-help-es en r-project.org<http://es.mc296.mail.yahoo.com/mc/compose?to=R-help-es@r-project.org>
>> >> https://stat.ethz.ch/mailman/listinfo/r-help-es
>> >>
>> >>
>> >
>> >
>> > --
>> > *Manuel Spínola, Ph.D.*
>> > Instituto Internacional en Conservación y Manejo de Vida Silvestre
>> > Universidad Nacional
>> > Apartado 1350-3000
>> > Heredia
>> > COSTA RICA
>> > mspinola en una.ac.cr
>> > mspinola10 en gmail.com
>> > Teléfono: (506) 2277-3598
>> > Fax: (506) 2237-7036
>> > Personal website: Lobito de río
>> > <https://sites.google.com/site/lobitoderio/>
>> > Institutional website: ICOMVIS <http://www.icomvis.una.ac.cr/>
>> >
>> >         [[alternative HTML version deleted]]
>> >
>> >
>> > _______________________________________________
>> > R-help-es mailing list
>> > R-help-es en r-project.org
>> > https://stat.ethz.ch/mailman/listinfo/r-help-es
>> >
>
>
>
>
> --
> Manuel Spínola, Ph.D.
> Instituto Internacional en Conservación y Manejo de Vida Silvestre
> Universidad Nacional
> Apartado 1350-3000
> Heredia
> COSTA RICA
> mspinola en una.ac.cr
> mspinola10 en gmail.com
> Teléfono: (506) 2277-3598
> Fax: (506) 2237-7036
> Personal website: Lobito de río
> Institutional website: ICOMVIS



Más información sobre la lista de distribución R-help-es