这个问题与an earlier one有关,除了答案(使用c()
函数)正是不为我工作的。
首先,我创建一个向量列表,然后创建一个额外的向量。
a_list <- lapply(mtcars, as.integer)
junk <- c(1:length(a_list[[1]]))
现在,如果使用c(a_list, junk)
(如前面问题的答案中所建议的那样),如果我说a_list[["junk"]] <- junk
(后者产生所需的结果),我会得到完全不同的答案。 。似乎前一种方法增加的内容是as.list(junk)
。
我如何使用junk
添加c()
而不将其转换为as.list(junk)
的结果?
答案 0 :(得分:2)
以这种方式使用list()
:c(a_list, junk=list(junk))
。
在尝试确切地解决上面有问题的场景中添加的内容时(为了更好地表达我的问题),我意识到list
和as.list
做了很多不同的事情。通过将垃圾转换为单个元素列表(使用list()
),它会以所需的方式“按原样”添加。
实际上,这是对Dirk Eddelbuettel的回答以及(更令人尴尬的)c()
本身的帮助中的“显示更多评论”评论。引用帮助:
## do *not* use
c(ll, d = 1:3) # which is == c(ll, as.list(c(d = 1:3))
## but rather
c(ll, d = list(1:3)) # c() combining two lists