这个问题关系到一个较早的一个,除了答案了,(使用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)
?
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
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句