Re: [R-es] Generar variable con valores repetidos por id

2021-02-15 Por tema Carlos Ortega
Vaya... no incluí la parte del data.frame... para que sea un ejemplo
reproducible...

#



*my_df <- data.frame(  pais_id = rep(1:38, each = 25),
gini = rnorm(25*38))*

library(dplyr)
res_df <- my_df %>%
  group_by(pais_id) %>%
  mutate( gini_avg = mean(gini))
head(res_df)
tail(res_df)

library(data.table)
my_dt <- as.data.table(my_df)
my_dt[ , gini_avg := mean(gini), pais_id]
my_dt
#-

Gracias,
Carlos Ortega
www.qualityexcellence.es


El lun, 15 feb 2021 a las 22:40, Carlos Ortega ()
escribió:

> Hola,
>
> Sí, mira un par de alternativas con un data.frame de ejemplo para simular
> el conjunto de datos equivalente al que tienes..
>
> #-
> library(dplyr)
> res_df <- my_df %>%
>   group_by(pais_id) %>%
>   mutate( gini_avg = mean(gini))
> head(res_df)
> tail(res_df)
>
> library(data.table)
> my_dt <- as.data.table(my_df)
> my_dt[ , gini_avg := mean(gini), pais_id]
> my_dt
> #-
>
> Gracias,
> Carlos Ortega
> www.qualityexcellence.es
>
> El lun, 15 feb 2021 a las 16:59, Rolando Valdez ()
> escribió:
>
>> No funciona, solo genera el valor = 1 en las primeras 25 observaciones y
>> NAs en el resto.
>>
>> El dom, 14 de feb. de 2021 a la(s) 22:03, Ivan Corredor castillo (
>> ivangcorred...@gmail.com) escribió:
>>
>> > Buenos días,
>> > Puedes intentar colocando el índice de las filas para cada país 1:25 y
>> el
>> > índice de la columna 1. Los valores que colocó son de ejemplo, tienes
>> que
>> > buscar el índice de las filas y de las columnas para que le asignes los
>> > valores creados por la función.
>> >
>> > db[1:25, 1]<- within(db, {mgini = ave(gini, id)}
>> >
>> > El dom., 14 de febrero de 2021 9:26 p. m., Rolando Valdez <
>> > rvald...@gmail.com> escribió:
>> >
>> >> Estimada comunidad:
>> >>
>> >> Estoy intentando generar una variable con el valor promedio del índice
>> de
>> >> gini en un rango de 25 años para un conjunto de 38 países. Esto en un
>> >> pdata.frame. Sin embargo, necesito que el valor promedio de cada país
>> se
>> >> repita 25 veces en cada uno de estos.
>> >>
>> >> He intentado con la función aggregate tal como sigue:
>> >>
>> >> > db$mgini <- aggregate(db$gini, by = list(db$id), FUN = mean, na.rm =
>> >> TRUE)
>> >> Error in `$<-.data.frame`(x, name, value) :
>> >>   replacement has 38 rows, data has 950
>> >>
>> >> Con este último es que genera un valor para cada país.
>> >>
>> >> Después intenté con la función within, y al parecer sí obtengo el valor
>> >> medio repetido 25 veces en cada país, no obstante, no logro
>> incorporarlo
>> >> en
>> >> el pdata.frame.
>> >>
>> >> > within(db, {mgini = ave(gini, id)})
>> >>
>> >> ¿Alguna sugerencia?
>> >>
>> >> Gracias de antemano.
>> >>
>> >> --
>> >> Rol~
>> >>
>> >> [[alternative HTML version deleted]]
>> >>
>> >> ___
>> >> R-help-es mailing list
>> >> R-help-es@r-project.org
>> >> https://stat.ethz.ch/mailman/listinfo/r-help-es
>> >>
>> >
>>
>> --
>> Rol~
>>
>> [[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
>


-- 
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


Re: [R-es] Generar variable con valores repetidos por id

2021-02-15 Por tema Carlos Ortega
Hola,

Sí, mira un par de alternativas con un data.frame de ejemplo para simular
el conjunto de datos equivalente al que tienes..

#-
library(dplyr)
res_df <- my_df %>%
  group_by(pais_id) %>%
  mutate( gini_avg = mean(gini))
head(res_df)
tail(res_df)

library(data.table)
my_dt <- as.data.table(my_df)
my_dt[ , gini_avg := mean(gini), pais_id]
my_dt
#-

Gracias,
Carlos Ortega
www.qualityexcellence.es

El lun, 15 feb 2021 a las 16:59, Rolando Valdez ()
escribió:

> No funciona, solo genera el valor = 1 en las primeras 25 observaciones y
> NAs en el resto.
>
> El dom, 14 de feb. de 2021 a la(s) 22:03, Ivan Corredor castillo (
> ivangcorred...@gmail.com) escribió:
>
> > Buenos días,
> > Puedes intentar colocando el índice de las filas para cada país 1:25 y el
> > índice de la columna 1. Los valores que colocó son de ejemplo, tienes que
> > buscar el índice de las filas y de las columnas para que le asignes los
> > valores creados por la función.
> >
> > db[1:25, 1]<- within(db, {mgini = ave(gini, id)}
> >
> > El dom., 14 de febrero de 2021 9:26 p. m., Rolando Valdez <
> > rvald...@gmail.com> escribió:
> >
> >> Estimada comunidad:
> >>
> >> Estoy intentando generar una variable con el valor promedio del índice
> de
> >> gini en un rango de 25 años para un conjunto de 38 países. Esto en un
> >> pdata.frame. Sin embargo, necesito que el valor promedio de cada país se
> >> repita 25 veces en cada uno de estos.
> >>
> >> He intentado con la función aggregate tal como sigue:
> >>
> >> > db$mgini <- aggregate(db$gini, by = list(db$id), FUN = mean, na.rm =
> >> TRUE)
> >> Error in `$<-.data.frame`(x, name, value) :
> >>   replacement has 38 rows, data has 950
> >>
> >> Con este último es que genera un valor para cada país.
> >>
> >> Después intenté con la función within, y al parecer sí obtengo el valor
> >> medio repetido 25 veces en cada país, no obstante, no logro incorporarlo
> >> en
> >> el pdata.frame.
> >>
> >> > within(db, {mgini = ave(gini, id)})
> >>
> >> ¿Alguna sugerencia?
> >>
> >> Gracias de antemano.
> >>
> >> --
> >> Rol~
> >>
> >> [[alternative HTML version deleted]]
> >>
> >> ___
> >> R-help-es mailing list
> >> R-help-es@r-project.org
> >> https://stat.ethz.ch/mailman/listinfo/r-help-es
> >>
> >
>
> --
> Rol~
>
> [[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


Re: [R-es] Generar variable con valores repetidos por id

2021-02-15 Por tema Rolando Valdez
No funciona, solo genera el valor = 1 en las primeras 25 observaciones y
NAs en el resto.

El dom, 14 de feb. de 2021 a la(s) 22:03, Ivan Corredor castillo (
ivangcorred...@gmail.com) escribió:

> Buenos días,
> Puedes intentar colocando el índice de las filas para cada país 1:25 y el
> índice de la columna 1. Los valores que colocó son de ejemplo, tienes que
> buscar el índice de las filas y de las columnas para que le asignes los
> valores creados por la función.
>
> db[1:25, 1]<- within(db, {mgini = ave(gini, id)}
>
> El dom., 14 de febrero de 2021 9:26 p. m., Rolando Valdez <
> rvald...@gmail.com> escribió:
>
>> Estimada comunidad:
>>
>> Estoy intentando generar una variable con el valor promedio del índice de
>> gini en un rango de 25 años para un conjunto de 38 países. Esto en un
>> pdata.frame. Sin embargo, necesito que el valor promedio de cada país se
>> repita 25 veces en cada uno de estos.
>>
>> He intentado con la función aggregate tal como sigue:
>>
>> > db$mgini <- aggregate(db$gini, by = list(db$id), FUN = mean, na.rm =
>> TRUE)
>> Error in `$<-.data.frame`(x, name, value) :
>>   replacement has 38 rows, data has 950
>>
>> Con este último es que genera un valor para cada país.
>>
>> Después intenté con la función within, y al parecer sí obtengo el valor
>> medio repetido 25 veces en cada país, no obstante, no logro incorporarlo
>> en
>> el pdata.frame.
>>
>> > within(db, {mgini = ave(gini, id)})
>>
>> ¿Alguna sugerencia?
>>
>> Gracias de antemano.
>>
>> --
>> Rol~
>>
>> [[alternative HTML version deleted]]
>>
>> ___
>> R-help-es mailing list
>> R-help-es@r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>
>

-- 
Rol~

[[alternative HTML version deleted]]

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


Re: [R-es] Generar variable con valores repetidos por id

2021-02-14 Por tema Ivan Corredor castillo
Buenos días,
Puedes intentar colocando el índice de las filas para cada país 1:25 y el
índice de la columna 1. Los valores que colocó son de ejemplo, tienes que
buscar el índice de las filas y de las columnas para que le asignes los
valores creados por la función.

db[1:25, 1]<- within(db, {mgini = ave(gini, id)}

El dom., 14 de febrero de 2021 9:26 p. m., Rolando Valdez <
rvald...@gmail.com> escribió:

> Estimada comunidad:
>
> Estoy intentando generar una variable con el valor promedio del índice de
> gini en un rango de 25 años para un conjunto de 38 países. Esto en un
> pdata.frame. Sin embargo, necesito que el valor promedio de cada país se
> repita 25 veces en cada uno de estos.
>
> He intentado con la función aggregate tal como sigue:
>
> > db$mgini <- aggregate(db$gini, by = list(db$id), FUN = mean, na.rm =
> TRUE)
> Error in `$<-.data.frame`(x, name, value) :
>   replacement has 38 rows, data has 950
>
> Con este último es que genera un valor para cada país.
>
> Después intenté con la función within, y al parecer sí obtengo el valor
> medio repetido 25 veces en cada país, no obstante, no logro incorporarlo en
> el pdata.frame.
>
> > within(db, {mgini = ave(gini, id)})
>
> ¿Alguna sugerencia?
>
> Gracias de antemano.
>
> --
> Rol~
>
> [[alternative HTML version deleted]]
>
> ___
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-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


[R-es] Generar variable con valores repetidos por id

2021-02-14 Por tema Rolando Valdez
Estimada comunidad:

Estoy intentando generar una variable con el valor promedio del índice de
gini en un rango de 25 años para un conjunto de 38 países. Esto en un
pdata.frame. Sin embargo, necesito que el valor promedio de cada país se
repita 25 veces en cada uno de estos.

He intentado con la función aggregate tal como sigue:

> db$mgini <- aggregate(db$gini, by = list(db$id), FUN = mean, na.rm = TRUE)
Error in `$<-.data.frame`(x, name, value) :
  replacement has 38 rows, data has 950

Con este último es que genera un valor para cada país.

Después intenté con la función within, y al parecer sí obtengo el valor
medio repetido 25 veces en cada país, no obstante, no logro incorporarlo en
el pdata.frame.

> within(db, {mgini = ave(gini, id)})

¿Alguna sugerencia?

Gracias de antemano.

-- 
Rol~

[[alternative HTML version deleted]]

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