在R中将两行减少为一行

时间:2016-06-29 18:40:00

标签: r

我遇到这样的情况:

df<-data.frame(A=c(1, NA), B=c(NA, 2), C=c(3, NA), D=c(4, NA), E=c(NA, 5))
df
   A  B  C  D  E
1  1 NA  3  4 NA
2 NA  2 NA NA  5

我想要的是,调整所有length(!is.na(df$*))==1,将df缩减为:

df
   A  B  C  D  E
 1 1  2  3  4  5

1 个答案:

答案 0 :(得分:3)

只要结果行相等,您就可以使用:

dfNew <- do.call(data.frame, lapply(df, function(i) i[!is.na(i)]))

导致

dfNew
A B C D E
1 1 2 3 4 5