行数不同

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',则使 lengthslength<- 赋值相同

lapply(lst1, function(x) {
    length(x) <- max(lengths(lst1))
    replace(x, is.na(x), 0)})

数据

lst1 <- lapply(b, function(x) a[1:x])