2015-09-02 64 views
1

我有一個問題,當我嘗試創建R.列表創建中的R列表我有2個矢量從2個矢量

a <- c(1:7) 
b <- c("A", "A", "B", "B", "B", "C", "C") 

第二矢量(b)是有序的因素。我正在嘗試創建一個列表,其格式如下:

[A] 
1, 2 

[B] 
3, 4, 5 

[C] 
6, 7 

ie。我想把第一個向量的元素放入一個列表中,每個塊的列表對應於第二個向量的因子級別。我希望我是很清晰,謝謝

+3

類似'分(A,B)'? –

+0

@Pascal argh !!!不確定是否值得發佈。 –

+1

@DavidArenburg :)請保留答案。 –

回答

3

看來你可以只使用split這裏

split(a, b) 
# $A 
# [1] 1 2 
# 
# $B 
# [1] 3 4 5 
# 
# $C 
# [1] 6 7 
+0

非常感謝你的答案。然而,所得到的列表是按照第二列(包含因子的列)按字母順序排列的。有沒有辦法使用split()來創建一個列表,其中的塊沒有按字母順序排列?我檢查了split(),並且沒有選擇訂購或不訂購 - 有序列表。我希望列表的順序是我給第二列的順序。預先感謝您 – Link

+0

我不明白。什麼順序?這是給你想要的輸出提供相同的輸出。 –