2013-04-23 52 views
0

嗨,我是新來的R和學校項目我試圖創建列表,我可以通過索引訪問並追加到列表。喜歡的東西R列表的動態列表

aList[1] = A, B, C 

aList[1] returns [1] A, B, C 

aList[1] += D 

aList[1] returns [1] A, B, C, D 

aList[2] = 1, 2, 3 

aList[2] returns [2] 1, 2, 3 

aList returns [1] A, B, C, D 
       [2] 1, 2, 3 

但是,我不知道如果我使用的是正確的數據類型(絕對不是正確的語法)的一切,我只是試着讓任何一個列表的一個索引或將多次一個項目的索引。

這不是作業。這甚至不應該是一個問題,但我找不到解決方案。

回答

1

R中的列表與矢量分開 - 矢量中的每個項目只能是基本類型,如數字或字符串,而列表可以包含矢量或其他列表。這聽起來像你想創建一個向量列表。

> aList = list(c("A", "B", "C"), c(1, 2, 3)) 
> aList[[1]] 
[1] "A" "B" "C" 
> aList[[1]] = c(aList[[1]], "D") 
> aList[[1]] 
[1] "A" "B" "C" "D" 
> aList[[2]] 
[1] 1 2 3 
> aList 
[[1]] 
[1] "A" "B" "C" "D" 

[[2]] 
[1] 1 2 3 

注意,通常使用雙括號,就像[[1]]訪問列表:這可能是來完成。如果您在使用單支架訪問列表,你會得到列表的子集:

[[1]] 
[1] "A" "B" "C" "D" 

這是不是你想要的,如果你想修改該項目。

+0

這是這裏的90%。它是括號。顯然,當我試圖追加時,我需要[[]]而不是[]。謝謝!編輯:當我寫評論時,你完全回答了它。再次感謝。 – user2309351 2013-04-23 01:43:23