R:将空向量添加到列表中

use*_*054 5 r list

在R中,当我向列表中添加一个空向量时,它实际上并没有添加,如下所示:

a = list()
a[[1]] = c()
print(length(a))
Run Code Online (Sandbox Code Playgroud)

length(a)在这种情况下将打印0,而如果我将第2行更改为a[[1]] = c(1),则列表的长度将为1,如预期的那样.在我的实现中,即使我向列表中添加一个空向量,我也需要更改列表长度.有没有办法做到这一点?

Ric*_*ven 5

使用诸如vector()(逻辑)之类的东西并将character()特定类分配给您希望保持“空”的元素。我会使用 NULL 类。[<-您可以使用代替 来分配 NULL 列表元素[[<-

a <- list()
a[1] <- list(NULL)
a
# [[1]]
# NULL
length(a)
# [1] 1
Run Code Online (Sandbox Code Playgroud)

  • OP 实际上非常接近 - `a[1] = list(c())` 也可以给出相同的结果。 (2认同)