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