Tengo dos marcos de datos.
Seasons Frequency
DJF 1
JJA 10
MAM 20
SON 30
Y
Seasons Frequency
DJF 1
JJA 10
MAM 20
SON 30
¿Cómo puedo combinar estos dos dfs, al mismo tiempo que agrego los valores de frecuencia?
Salida prevista:
Seasons Frequency
DJF 2
JJA 20
MAM 40
SON 60
Respuestas
1 para la respuesta № 1Usando el paquete plyr
require(plyr)
ddply(rbind(df1, df2),
.(Seasons),
summarize,
Frequency=sum(Frequency))
0 para la respuesta № 2
Si están en orden, sin etiquetas faltantes, simplemente puede agregar la segunda columna.
df1$Frequency <- df1$Frequency + df2$Frequency)
De lo contrario, puede fusionarse en los valores de las estaciones, luego sumar los dos y eliminar la columna extraña.
final.df <- merge(df1, df2, by="Seasons")
final.df$Frequency <- final.df$Frequency.x + final.df$Frequency.y
final.df$Frequency.x <- NULL
final.df$Frequency.y <- NULL
0 para la respuesta № 3
Dado que 2 marcos de datos tienen una estructura idéntica, un código de una línea de base R también lo hará:
> df3 = data.frame(Seasons = df1$Seasons, Frequency = df1$Frequency+df2$Frequency)
> df3
Seasons Frequency
1 DJF 2
2 JJA 20
3 MAM 40
4 SON 60