【发布时间】:2019-05-16 14:01:58
【问题描述】:
我有几行的数据框,我需要合并具有相同 ID 的行。
a=read.csv("a.csv")
view(a)
ID Value1 Value2 Value3 Value4 Value5 Value6
1076 2940 NA NA 2 NA NA
1076 2940 1 A- NA 302 549
1109 2940 NA NA 3 NA NA
1109 2940 NA A- NA 700 150
我需要这样的结果
ID Value1 Value2 Value3 Value4 Value5 Value6
1076 2940 1 A- 2 302 549
1109 2940 NA A- 3 700 150
我已经查看了类似问题的答案 (Merging rows with shared information)。但我在结果中遇到了错误。
library(dplyr)
f <- function(x) {
x <- na.omit(x)
if (length(x) > 0) paste(x,collapse='-') else NA
}
a_merge <- a %>% group_by(ID)%>%summarise_all(list(f))
但我收到以下错误
Error: Column `Value2` can't promote group 1 to character
请帮忙。
【问题讨论】: