我有兩個向量,我想在R中創建一個列表,其中一個向量是鍵,另一個是值。我以爲我會很容易地找到答案在我的書或谷歌周圍,我期待找到一個解決方案,如向名稱添加名稱(名稱(v)< - names_vector),但我失敗了。如何在兩個向量中創建R中的列表(一個是鍵,另一個是值)?
我已經來了兩種可能的解決方案,但他們都沒有看起來優雅。 R不是我的主要編程語言,但我認爲R是實用的更好的解決方案應該存在(如list(keys = x,values = y))。
我的解決方法1:經典的循環解決方案:
> xx <- 1:3
> yy <- letters1:3
> zz =list()
>for(i in 1:length(yy)) {zz[[yy[i]]]<-xx[i]}
我的解決方案2:通過名爲向量間接路徑:
> names(xx) <- letters[1:3]
> as.list(xx)
看來,我有一個解決辦法,但我的向量具有百萬或更多元素,我不僅擔心編碼風格(對我很重要),而且還擔心效率(但我不知道如何在R中進行分析)。有沒有更適當的方法來做到這一點?使用指定的矢量快捷方式是否是一種很好的做法?
[[UPDATE]]我的applogies,可能我簡化了問題,使其可重現。我想給列表中的元素命名。我首先嚐試了names(),但似乎我做了錯誤的事情,並沒有奏效。所以我得到了錯誤的想法,名稱()不適用於列表。但他們確實做如圖接受的答案
你說 「1萬組以上的元素(即是大對象)」?你能確定你的對象的結構,以瞭解它有多大? – agstudy
@agstudy我認爲這是因爲OP由於元素的數量而將矢量描述爲大對象,而不是元素本身作爲大對象?儘管如此,要將兩個向量組合在一個列表中....... –