[英]How to append a vector to a list of vectors in R?
這個問題關系到一個較早的一個 ,除了答案了,(用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)
。
如何在不將c()
轉換為as.list(junk)
結果的情況下使用c()
添加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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.