合并依赖于列的行(删除NA值)

时间:2018-06-03 13:53:35

标签: r

我遇到了一个问题我找不到解决方案了。 我在R中有一个数据框,看起来像这样:

p  v1 v2 v3  v4 v5 v6   v7 v8 v9 <- Header
V1 1  2  3   NA NA NA   NA NA NA
V2 1  2  3   NA NA NA   NA NA NA
V3 1  2  3   NA NA NA   NA NA NA
V1 NA NA NA  4  5  6    NA NA NA
V2 NA NA NA  4  5  6    NA NA NA
V3 NA NA NA  4  5  6    NA NA NA
V1 NA NA NA  NA NA NA   7  8  9
V2 NA NA NA  NA NA NA   7  8  9
V3 NA NA NA  NA NA NA   7  8  9

如何合并依赖于第一个coloum的所有行,得到以下输出:

V1 1 2 3 4 5 6 7 8 9
V2 1 2 3 4 5 6 7 8 9
V3 1 2 3 4 5 6 7 8 9

非常感谢!

1 个答案:

答案 0 :(得分:0)

我们可以按第一列分组,然后获取sum

library(dplyr)
df1 %>%
    group_by(p) %>%
    summarise_all(sum, na.rm = TRUE)
# A tibble: 3 x 10
#  p        v1    v2    v3    v4    v5    v6    v7    v8    v9
#  <chr> <int> <int> <int> <int> <int> <int> <int> <int> <int>
#1 V1        1     2     3     4     5     6     7     8     9
#2 V2        1     2     3     4     5     6     7     8     9
#3 V3        1     2     3     4     5     6     7     8     9