如何计算向量在列表中出现的次数?在R

时间:2013-04-04 17:54:45

标签: r list vector

我有10,000个向量的列表,每个向量可能有不同的元素和不同的长度。我想知道我有多少独特的向量以及每个唯一向量在列表中出现的频率。

我想要走的路是功能" unique",但我不知道如何使用它来获得每个矢量重复的次数。

所以我想得的是这样的:

"" " B" " C" d" 301

"" 277

" B" C" 49

是字母,每个唯一向量的内容,以及数字,重复次数。

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

非常感谢你。

蒂娜。

1 个答案:

答案 0 :(得分: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?

实际上,我只是猜测你想要做什么。