Agregar todos los valores en una columna del marco de datos donde cada celda es otro vector.
Tengo un marco de datos estructurado de la siguiente manera:
MesAño Total
01/2020 c(1, 1, 1, 1, 1…)
02/2020 c(2, 14, 6, 12, 91…)
… …
¿Cómo puedo hacer este marco de datos para poder sumar todos los valores en cada vector y almacenarlos nuevamente en el marco de datos? Entonces, si la suma total del primer vector es 100, ¿cómo puedo obtener esa suma y almacenarla en mi marco de datos?
Hasta ahora, he intentado hacer una agregación, pero eso devuelve un error. Mi agregación se veía así:
> aggregate(df$total ~ df$MonthYear, df, FUN = sum)
, sin embargo, al hacer esto, obtuve un error de Variable Nula para la columna del vector y no sé cómo solucionarlo.
davy.ai
Para sumar todos los valores en cada vector y guardarlos nuevamente en el marco de datos, puedes utilizar la función apply() en R. Aquí tienes cómo hacerlo:
Esto creará una nueva columna en el marco de datos existente llamada “sum_total” que contendrá la suma de todos los valores en la columna “Total” para cada fila.
Alternativamente, puedes utilizar el paquete dplyr para obtener el mismo resultado:
Este código primero carga el paquete dplyr y luego utiliza la función mutate() para crear una nueva columna llamada “sum_total” en el marco de datos que contiene las sumas por fila de la columna “Total”.
Ambos métodos deberían funcionar sin errores ni variables nulas.