2013-04-04 382 views
0

我有一個10,000個矢量的列表,每個矢量可能有不同的元素和不同的長度。我想知道我有多少獨特的矢量,每個獨特的矢量出現在列表中的頻率。如何計算向量出現在列表中的次數?在R

我想要走的路是「獨特」的功能,但我不知道如何使用它來獲得每個矢量重複的次數。

所以我想得到的是類似的東西:

「A」 「B」 「C」 d 「301

」一「 277

」B「 C」 49

是字母,每個獨特向量的內容和數字,重複頻率。

我真的很感激任何可能的幫助。

非常感謝你提前。

Tina。

回答

1

也許你應該看看table

一些樣本數據:

myList <- list(A = c("A", "B"), 
       B = c("A", "B"), 
       C = c("B", "A"), 
       D = c("A", "B", "B", "C"), 
       E = c("A", "B", "B", "C"), 
       F = c("A", "C", "B", "B")) 

您的載體粘貼在一起,算算他們。

table(sapply(myList, paste, collapse = ",")) 
# 
#  A,B A,B,B,C A,C,B,B  B,A 
#  2  2  1  1 

您不指定訂單是否重要(即A,B與B,A相同)。如果是的話,你可以嘗試這樣的:

table(sapply(myList, function(x) paste(sort(x), collapse = ","))) 
# 
#  A,B A,B,B,C 
#  3  3 

總結這data.frame的垂直輸出而不是水平,這可能是更容易閱讀。


此外,請務必按照已經建議的方式閱讀How to make a great R reproducible example?

事實上,我只是猜你你想做什麼。

+0

我可以問你'rle(sort(sapply(myList,paste,collapse =「,」)))'會更慢還是更快?在R的TIMTOWDI是killig我... [我總是可以嘗試明天的一些玩具的例子,是的...但也許它是微不足道] – vodka 2013-04-04 18:15:29

+0

@vodka,不知道。嘗試使用rbenchmark或microbenchmark軟件包運行一些基準測試。 – A5C1D2H2I1M1N2O1R2T1 2013-04-04 18:17:49

+0

再次感謝你阿南達! – user18441 2013-04-04 18:47:48