在 R 中的列表末尾添加数字向量

问题描述 投票:0回答:1

我是 R 新手。我一直在尝试将向量添加到 R 中列表的末尾,但它似乎不起作用。

这是我尝试过的:

L <- list("audrey", 19, TRUE)
L["new"] <- c(1,2,3)      # doesn't work

v1 <- c(1,2,3)
L["new"] <- v1            # doesn't work

这两个代码都抛出相同的错误,

number of items to replace is not a multiple of replacement length

我希望两者都能工作,因为在创建列表时,以下工作有效:

J <- list("audrey", 19, TRUE, c(1,2,3))

v2 <- c(1,2,3)
K <- list("mary", 20, v2)

我认为它会起作用,因为我似乎只是将一个新向量附加到带有命名索引的列表末尾。现在看来我必须重新定义列表才能在末尾添加向量?

希望能解释为什么会引发错误,以及是否有一种方法可以实现我想要做的事情而无需重新定义列表。谢谢!

r list
1个回答
0
投票

尝试使用双括号而不是单括号。

L <- list("audrey", 19, TRUE)
L[["new"]] <- c(1,2,3)

这应该可行,因为单括号用于子集,而双括号用于提取或替换 我希望这有帮助

© www.soinside.com 2019 - 2024. All rights reserved.