【发布时间】:2019-03-13 20:51:17
【问题描述】:
我有几列包含非重叠数据:
a <- c(rep(1, 10), rep(NA, 20))
b <- c(rep(NA, 10), rep(2, 10), rep(NA, 10))
c <- c(rep(NA, 20), rep(3, 10))
data <- cbind(a, b, c)
输出:
a b c
[1,] 1 NA NA
[2,] 1 NA NA
[3,] 1 NA NA
[4,] 1 NA NA
[5,] 1 NA NA
[6,] 1 NA NA
[7,] 1 NA NA
[8,] 1 NA NA
[9,] 1 NA NA
[10,] 1 NA NA
[11,] NA 2 NA
[12,] NA 2 NA
[13,] NA 2 NA
[14,] NA 2 NA
[15,] NA 2 NA
[16,] NA 2 NA
[17,] NA 2 NA
[18,] NA 2 NA
[19,] NA 2 NA
[20,] NA 2 NA
[21,] NA NA 3
[22,] NA NA 3
[23,] NA NA 3
[24,] NA NA 3
[25,] NA NA 3
[26,] NA NA 3
[27,] NA NA 3
[28,] NA NA 3
[29,] NA NA 3
[30,] NA NA 3
使用dplyr将这N列(不止3列)折叠成一列的方法是什么,所以
result <- c(rep(1, 10), rep(2, 10), rep(3, 10))
当然,在真实数据而不是(1, 2, 3) 中,实际数据是完全不同的东西,它唯一的共同属性是它不是NA。
【问题讨论】:
-
dplyr::coalesce也许?