Discussion:
[R-es] Media
MAURICIO MARDONES
2018-08-27 21:19:56 UTC
Permalink
Estimada lista

la pregunta es muy básica, pero necesito saber la Long media para cada año.
Estoy pillando en el bucle.

> head(talla)
X Long Año
1 1 56 2016
2 2 58 2016
3 3 58 2016
4 4 58 2016
5 5 58 2016
6 6 58 2016
> tail(talla)
X Long Año
2567630 2567630 86 2000
2567631 2567631 88 2000
2567632 2567632 88 2000
2567633 2567633 88 2000
2567634 2567634 89 2000
2567635 2567635 95 2000

agradecería!

Saludos

--

*Mauricio Mardones Inostroza*

Investigador Departamento Evaluación de Recursos
Instituto de Fomento Pesquero - IFOP
Valparaíso - Chile
+56-32-2151442

www.ifop.cl

--
C*ertificación ISO 9001/2008*: Sistema de Datos Biológico-Pesqueros (Arica,
Iquique, Coquimbo, Valparaíso, San Antonio, Talcahuano y Calbuco,
pesquerías industriales y artesanales)

[[alternative HTML version deleted]]
Carlos Ortega
2018-08-27 22:23:51 UTC
Permalink
Hola,

Puedes hacerlo de muchas formas, pero por seguir lo que más se utiliza
últimamente de "dplyr"...

library(dplyr)
my_res <- talla %>%
group_by(Año) %>%
summarise( val_avg = mean(Long), n = n())
my_res


Saludos,
Carlos Ortega
www.qualiytexcellence.es


El 27 de agosto de 2018, 23:19, MAURICIO MARDONES <***@ifop.cl
> escribió:

> Estimada lista
>
> la pregunta es muy básica, pero necesito saber la Long media para cada año.
> Estoy pillando en el bucle.
>
> > head(talla)
> X Long Año
> 1 1 56 2016
> 2 2 58 2016
> 3 3 58 2016
> 4 4 58 2016
> 5 5 58 2016
> 6 6 58 2016
> > tail(talla)
> X Long Año
> 2567630 2567630 86 2000
> 2567631 2567631 88 2000
> 2567632 2567632 88 2000
> 2567633 2567633 88 2000
> 2567634 2567634 89 2000
> 2567635 2567635 95 2000
>
> agradecería!
>
> Saludos
>
> --
>
> *Mauricio Mardones Inostroza*
>
> Investigador Departamento Evaluación de Recursos
> Instituto de Fomento Pesquero - IFOP
> Valparaíso - Chile
> +56-32-2151442
>
> www.ifop.cl
>
> --
> C*ertificación ISO 9001/2008*: Sistema de Datos
> Biológico-Pesqueros (Arica,
> Iquique, Coquimbo, Valparaíso, San Antonio, Talcahuano y Calbuco,
> pesquerías industriales y artesanales)
>
> [[alternative HTML version deleted]]
>
> _______________________________________________
> R-help-es mailing list
> R-help-***@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>



--
Saludos,
Carlos Ortega
www.qualityexcellence.es

[[alternative HTML version deleted]]
Eric
2018-08-28 00:27:56 UTC
Permalink
Con la libreria data.table:

as.data.table(tus.datos)

tus.datos[, mean(Long), by=Año]

Suerte !!!

eric.




On 27/08/18 19:23, Carlos Ortega wrote:
> Hola,
>
> Puedes hacerlo de muchas formas, pero por seguir lo que más se utiliza
> últimamente de "dplyr"...
>
> library(dplyr)
> my_res <- talla %>%
> group_by(Año) %>%
> summarise( val_avg = mean(Long), n = n())
> my_res
>
>
> Saludos,
> Carlos Ortega
> www.qualiytexcellence.es
>
>
> El 27 de agosto de 2018, 23:19, MAURICIO MARDONES <***@ifop.cl
>> escribió:
>> Estimada lista
>>
>> la pregunta es muy básica, pero necesito saber la Long media para cada año.
>> Estoy pillando en el bucle.
>>
>>> head(talla)
>> X Long Año
>> 1 1 56 2016
>> 2 2 58 2016
>> 3 3 58 2016
>> 4 4 58 2016
>> 5 5 58 2016
>> 6 6 58 2016
>>> tail(talla)
>> X Long Año
>> 2567630 2567630 86 2000
>> 2567631 2567631 88 2000
>> 2567632 2567632 88 2000
>> 2567633 2567633 88 2000
>> 2567634 2567634 89 2000
>> 2567635 2567635 95 2000
>>
>> agradecería!
>>
>> Saludos
>>
>> --
>>
>> *Mauricio Mardones Inostroza*
>>
>> Investigador Departamento Evaluación de Recursos
>> Instituto de Fomento Pesquero - IFOP
>> Valparaíso - Chile
>> +56-32-2151442
>>
>> www.ifop.cl
>>
>> --
>> C*ertificación ISO 9001/2008*: Sistema de Datos
>> Biológico-Pesqueros (Arica,
>> Iquique, Coquimbo, Valparaíso, San Antonio, Talcahuano y Calbuco,
>> pesquerías industriales y artesanales)
>>
>> [[alternative HTML version deleted]]
>>
>> _______________________________________________
>> R-help-es mailing list
>> R-help-***@r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>
>
>
Carlos Ortega
2018-08-28 07:43:31 UTC
Permalink
Ya puestos, hay otras formas:

1. función aggregate():
aggregate( Lon ~ Año, data = talla, mean)

2. sqldf
library(sqldf)
sqldf("select avg(Lon) as med_lon from tall group by Año")

Saludos,
Carlos Ortega
www.qualityexcellence.es



El 28 de agosto de 2018, 2:27, Eric <***@gmail.com> escribió:

> Con la libreria data.table:
>
> as.data.table(tus.datos)
>
> tus.datos[, mean(Long), by=Año]
>
> Suerte !!!
>
> eric.
>
>
>
>
>
> On 27/08/18 19:23, Carlos Ortega wrote:
>
>> Hola,
>>
>> Puedes hacerlo de muchas formas, pero por seguir lo que más se utiliza
>> últimamente de "dplyr"...
>>
>> library(dplyr)
>> my_res <- talla %>%
>> group_by(Año) %>%
>> summarise( val_avg = mean(Long), n = n())
>> my_res
>>
>>
>> Saludos,
>> Carlos Ortega
>> www.qualiytexcellence.es
>>
>>
>> El 27 de agosto de 2018, 23:19, MAURICIO MARDONES <
>> ***@ifop.cl
>>
>>> escribió:
>>> Estimada lista
>>>
>>> la pregunta es muy básica, pero necesito saber la Long media para cada
>>> año.
>>> Estoy pillando en el bucle.
>>>
>>> head(talla)
>>>>
>>> X Long Año
>>> 1 1 56 2016
>>> 2 2 58 2016
>>> 3 3 58 2016
>>> 4 4 58 2016
>>> 5 5 58 2016
>>> 6 6 58 2016
>>>
>>>> tail(talla)
>>>>
>>> X Long Año
>>> 2567630 2567630 86 2000
>>> 2567631 2567631 88 2000
>>> 2567632 2567632 88 2000
>>> 2567633 2567633 88 2000
>>> 2567634 2567634 89 2000
>>> 2567635 2567635 95 2000
>>>
>>> agradecería!
>>>
>>> Saludos
>>>
>>> --
>>>
>>> *Mauricio Mardones Inostroza*
>>>
>>> Investigador Departamento Evaluación de Recursos
>>> Instituto de Fomento Pesquero - IFOP
>>> Valparaíso - Chile
>>> +56-32-2151442
>>>
>>> www.ifop.cl
>>>
>>> --
>>> C*ertificación ISO 9001/2008*: Sistema de Datos
>>> Biológico-Pesqueros (Arica,
>>> Iquique, Coquimbo, Valparaíso, San Antonio, Talcahuano y Calbuco,
>>> pesquerías industriales y artesanales)
>>>
>>> [[alternative HTML version deleted]]
>>>
>>> _______________________________________________
>>> R-help-es mailing list
>>> R-help-***@r-project.org
>>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>>
>>>
>>
>>
> _______________________________________________
> R-help-es mailing list
> R-help-***@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>



--
Saludos,
Carlos Ortega
www.qualityexcellence.es

[[alternative HTML version deleted]]
Jesús Para Fernández
2018-08-28 07:45:09 UTC
Permalink
O con data.table que puede ser bastante más rápido



library(data.table)

talla <- data.table(talla)

resultados <- talla[,.(media =mean(Long),n=.N),by=Año]



Un saludo

Jesús



________________________________
De: R-help-es <r-help-es-***@r-project.org> en nombre de Carlos Ortega <***@qualityexcellence.es>
Enviado: Tuesday, August 28, 2018 12:23:51 AM
Para: MAURICIO MARDONES
Cc: Lista R
Asunto: Re: [R-es] Media

Hola,

Puedes hacerlo de muchas formas, pero por seguir lo que más se utiliza
últimamente de "dplyr"...

library(dplyr)
my_res <- talla %>%
group_by(Año) %>%
summarise( val_avg = mean(Long), n = n())
my_res


Saludos,
Carlos Ortega
www.qualiytexcellence.es<http://www.qualiytexcellence.es>


El 27 de agosto de 2018, 23:19, MAURICIO MARDONES <***@ifop.cl
> escribió:

> Estimada lista
>
> la pregunta es muy básica, pero necesito saber la Long media para cada año.
> Estoy pillando en el bucle.
>
> > head(talla)
> X Long Año
> 1 1 56 2016
> 2 2 58 2016
> 3 3 58 2016
> 4 4 58 2016
> 5 5 58 2016
> 6 6 58 2016
> > tail(talla)
> X Long Año
> 2567630 2567630 86 2000
> 2567631 2567631 88 2000
> 2567632 2567632 88 2000
> 2567633 2567633 88 2000
> 2567634 2567634 89 2000
> 2567635 2567635 95 2000
>
> agradecería!
>
> Saludos
>
> --
>
> *Mauricio Mardones Inostroza*
>
> Investigador Departamento Evaluación de Recursos
> Instituto de Fomento Pesquero - IFOP
> Valparaíso - Chile
> +56-32-2151442
>
> www.ifop.cl<http://www.ifop.cl>
>
> --
> C*ertificación ISO 9001/2008*: Sistema de Datos
> Biológico-Pesqueros (Arica,
> Iquique, Coquimbo, Valparaíso, San Antonio, Talcahuano y Calbuco,
> pesquerías industriales y artesanales)
>
> [[alternative HTML version deleted]]
>
> _______________________________________________
> R-help-es mailing list
> R-help-***@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>



--
Saludos,
Carlos Ortega
www.qualityexcellence.es<http://www.qualityexcellence.es>

[[alternative HTML version deleted]]

_______________________________________________
R-help-es mailing list
R-help-***@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es

[[alternative HTML version deleted]]
MAURICIO MARDONES
2018-08-28 16:28:54 UTC
Permalink
genial y gracias a todos!

El mar., 28 ago. 2018 a las 4:45, Jesús Para Fernández (<
***@hotmail.com>) escribió:

> O con data.table que puede ser bastante más rápido
>
>
>
> library(data.table)
>
> talla <- data.table(talla)
>
> resultados <- talla[,.(media =mean(Long),n=.N),by=Año]
>
>
>
> Un saludo
>
> Jesús
>
>
> ------------------------------
> *De:* R-help-es <r-help-es-***@r-project.org> en nombre de Carlos
> Ortega <***@qualityexcellence.es>
> *Enviado:* Tuesday, August 28, 2018 12:23:51 AM
> *Para:* MAURICIO MARDONES
> *Cc:* Lista R
> *Asunto:* Re: [R-es] Media
>
> Hola,
>
> Puedes hacerlo de muchas formas, pero por seguir lo que más se utiliza
> últimamente de "dplyr"...
>
> library(dplyr)
> my_res <- talla %>%
> group_by(Año) %>%
> summarise( val_avg = mean(Long), n = n())
> my_res
>
>
> Saludos,
> Carlos Ortega
> www.qualiytexcellence.es
>
>
> El 27 de agosto de 2018, 23:19, MAURICIO MARDONES <
> ***@ifop.cl
> > escribió:
>
> > Estimada lista
> >
> > la pregunta es muy básica, pero necesito saber la Long media para cada
> año.
> > Estoy pillando en el bucle.
> >
> > > head(talla)
> > X Long Año
> > 1 1 56 2016
> > 2 2 58 2016
> > 3 3 58 2016
> > 4 4 58 2016
> > 5 5 58 2016
> > 6 6 58 2016
> > > tail(talla)
> > X Long Año
> > 2567630 2567630 86 2000
> > 2567631 2567631 88 2000
> > 2567632 2567632 88 2000
> > 2567633 2567633 88 2000
> > 2567634 2567634 89 2000
> > 2567635 2567635 95 2000
> >
> > agradecería!
> >
> > Saludos
> >
> > --
> >
> > *Mauricio Mardones Inostroza*
> >
> > Investigador Departamento Evaluación de Recursos
> > Instituto de Fomento Pesquero - IFOP
> > Valparaíso - Chile
> > +56-32-2151442
> >
> > www.ifop.cl
> >
> > --
> > C*ertificación ISO 9001/2008*: Sistema de Datos
> > Biológico-Pesqueros (Arica,
> > Iquique, Coquimbo, Valparaíso, San Antonio, Talcahuano y Calbuco,
> > pesquerías industriales y artesanales)
> >
> > [[alternative HTML version deleted]]
> >
> > _______________________________________________
> > R-help-es mailing list
> > R-help-***@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-***@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>


--

*Mauricio Mardones Inostroza*

Investigador Departamento Evaluación de Recursos
Instituto de Fomento Pesquero - IFOP
Valparaíso - Chile
+56-32-21514 <javascript:void(0);>42

www.ifop.cl

--
C*ertificación ISO 9001/2008*: Sistema de Datos Biológico-Pesqueros (Arica,
Iquique, Coquimbo, Valparaíso, San Antonio, Talcahuano y Calbuco,
pesquerías industriales y artesanales)

[[alternative HTML version deleted]]
Patricio Suárez Gil
2018-08-28 08:25:02 UTC
Permalink
Hola,

ya se han dado muchas respuestas válidas, pero una de las más básicas sería con la función by():

by(talla$long, talla$Año, mean, na.rm = T)

añado el argumento na.rm = T por si hubiera datos perdidos.

Un saludo,


Patricio Suárez Gil
Instituto de Investigación Sanitaria del Principado de Asturias (ISPA)
Oviedo













[[alternative HTML version deleted]]
Carlos Ortega
2018-08-28 10:25:34 UTC
Permalink
Salvo un par de casos, hemos reproducido perfectamente lo que ya aparece en
Stackoverflow....

https://stackoverflow.com/questions/21982987/mean-per-group-in-a-data-frame

Saludos,
Carlos Ortega
www.qualityexcellence.es

El 28 de agosto de 2018, 10:25, Patricio Suárez Gil <***@gmail.com>
escribió:

> Hola,
>
> ya se han dado muchas respuestas válidas, pero una de las más básicas
> sería con la función by():
>
> by(talla$long, talla$Año, mean, na.rm = T)
>
> añado el argumento na.rm = T por si hubiera datos perdidos.
>
> Un saludo,
>
>
> Patricio Suárez Gil
> Instituto de Investigación Sanitaria del Principado de Asturias (ISPA)
> Oviedo
>
>
>
>
>
>
>
>
>
>
>
>
>
> [[alternative HTML version deleted]]
>
> _______________________________________________
> R-help-es mailing list
> R-help-***@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>



--
Saludos,
Carlos Ortega
www.qualityexcellence.es

[[alternative HTML version deleted]]
Loading...