0

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

我想要走的路是函数“唯一”,但我不知道如何使用它来获取每个向量重复的次数。

所以我想得到的是这样的:

“a” “b” “c” d” 301

“一个” 277

"b" c" 49

作为字母、每个唯一向量的内容和数字,重复的频率。

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

非常感谢你。

蒂娜。

4

1 回答 1

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为垂直输出而不是水平输出,这可能更易于阅读。


另外,请务必阅读如何制作一个出色的 R 可重现示例?正如已经向您建议的那样。

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

于 2013-04-04T18:06:46.037 回答