【发布时间】:2021-12-31 20:08:37
【问题描述】:
我知道我可以通过这种方式合并三个向量:
y <- c(1, NA, NA, NA, 5)
z <- c(NA, NA, 3, 4, 6)
k <- c(NA, 1, NA, NA, 8)
coalesce(y,z,k)
但是,在实际数据中,我只能得到整个数据集:
d <- rbind(y,z,k)
而在现实生活中,每次d 都有不同的行长(有时是 3 行,有时是 4 行),这意味着我们不能只写:
coalesce(d[1,],d[2,],d[3,])
我想过split函数:
split(t(d),rep(1:nrow(d),each = ncol(d)))
得到:
$`1`
[1] 1 NA NA NA 5
$`2`
[1] NA NA 3 4 6
$`3`
[1] NA 1 NA NA 8
但split 函数的结果不能应用于合并函数。
有没有办法实现我的想法?
【问题讨论】:
-
c(y, z, k)怎么样 -
@Oliver 不幸的是我不能。在真实数据集中我只得到
d,一些ds 可能有c(y,z,k,l)。