Ivan Corredor castillo
2021-Feb-15 04:03 UTC
[R-es] Generar variable con valores repetidos por id
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 <
rvaldezr en 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 en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
[[alternative HTML version deleted]]
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 ( ivangcorredorc en 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 < > rvaldezr en 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 en r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es >> >-- Rol~ [[alternative HTML version deleted]]