行数不同
Differing number of rows
假设我有一个数字向量 a a<-c(1, 2, 3, 4, 5, 6)
和一个位置向量 b b<-c(1, 2, 3)
。
然后我想得到向量 a 中每个位置 b 之前的数字。
我这样做 lapply(b, function(x) a[1:x])
并得到结果
[1] 1
[[2]]
[1] 1 2
[[3]]
[1] 1 2 3
现在,如果每个位置的值数量相等,我想将它们正常组合到一个数据框中,我会这样做t(as.data.frame(lapply(b, function(x) a[1:x]))
但我现在不能这样做,因为行数不同。如何为不存在的值置零?
如果输出 list
为 'lst1',则使 lengths
与 length<-
赋值相同
lapply(lst1, function(x) {
length(x) <- max(lengths(lst1))
replace(x, is.na(x), 0)})
数据
lst1 <- lapply(b, function(x) a[1:x])
假设我有一个数字向量 a a<-c(1, 2, 3, 4, 5, 6)
和一个位置向量 b b<-c(1, 2, 3)
。
然后我想得到向量 a 中每个位置 b 之前的数字。
我这样做 lapply(b, function(x) a[1:x])
并得到结果
[1] 1
[[2]]
[1] 1 2
[[3]]
[1] 1 2 3
现在,如果每个位置的值数量相等,我想将它们正常组合到一个数据框中,我会这样做t(as.data.frame(lapply(b, function(x) a[1:x]))
但我现在不能这样做,因为行数不同。如何为不存在的值置零?
如果输出 list
为 'lst1',则使 lengths
与 length<-
赋值相同
lapply(lst1, function(x) {
length(x) <- max(lengths(lst1))
replace(x, is.na(x), 0)})
数据
lst1 <- lapply(b, function(x) a[1:x])