通过sum r将多个列合并到数据帧中的一列

时间:2016-05-16 13:44:13

标签: r dataframe merge

我想用sum合并一列中的7列,但我找不到一个好方法。数据框包含71个观测值和7个变量。

第一个是

           > head(df)
  pop_exposed_1_1 pop_exposed_1_2 pop_exposed_1_3 pop_exposed_1_4
1              NA              NA        15778358              NA
2              NA              NA              NA              NA
3              NA              NA              NA         3971412
4              NA              NA              NA         2694625
5              NA              NA              NA              NA
6              NA              NA              NA              NA
  pop_exposed_2_2 pop_exposed_2_3 pop_exposed_2_4
1              NA              NA              NA
2        38044072              NA              NA
3              NA              NA              NA
4              NA              NA              NA
5              NA       1626335.0              NA
6              NA        429924.4              NA

所有NA值都需要替换为另一个变量中的值,而某些行具有需要通过sum组合的多个值。因此结果只是一个变量pop_exposed。我尝试了几件事,但没有按照我想要的方式工作。

1 个答案:

答案 0 :(得分:1)

查找?rowSums

rowSums(df, na.rm=TRUE)
rowMeans(df, na.rm=TRUE)

apply方式

apply(df,1,sum ,na.rm = TRUE)  # Sum  by row '1'  (for columns use '2')
apply(df,1,mean,na.rm = TRUE) # Mean by row '1' (for columns use '2')