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

如何计算向量在列表中出现的次数?在R,r,list,vector,R,List,Vector,我有一个10000个向量的列表,每个向量可能有不同的元素和不同的长度。我想知道我有多少个唯一向量,以及每个唯一向量在列表中出现的频率 我想方法是函数“unique”,但我不知道如何使用它来获得每个向量的重复次数 所以我想得到的是这样的东西: “a”“b”“c”d“301 “a”277 “b”c“49 作为字母、每个唯一向量的内容和数字,重复的频率是多少 我真的很感激任何可能的帮助 事先非常感谢 蒂娜。也许你应该看看表格: 一些样本数据: myList <- list(A = c("A",

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

我想方法是函数“unique”,但我不知道如何使用它来获得每个向量的重复次数

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

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

“a”277

“b”c“49

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

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

事先非常感谢


蒂娜。

也许你应该看看
表格

一些样本数据:

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"))
您不指定顺序是否重要(即,A、B是否与B、A相同)。如果有,您可以尝试以下方法:

table(sapply(myList, function(x) paste(sort(x), collapse = ",")))
# 
#     A,B A,B,B,C 
#       3       3 
将其包装在
data.frame
中,以获得垂直输出,而不是水平输出,这可能更易于阅读


另外,一定要按照建议阅读


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

我可以问你
rle(sort(sappy(myList,paste,collapse=“,”))
是慢还是快?R的TIMTOWDI杀了我。。。[我明天总可以尝试一些玩具的例子,是的……但可能很琐碎]@伏特加,不知道。尝试使用rbenchmark或microbenchmark软件包运行一些基准测试。使用表:15.734对20.212,在6000个元素的列表上运行更快。@伏特加,谢谢测试。在R中确实有很多不同的方法来做事情,但这是我喜欢R的地方。我不知道我是否会在5秒钟内失去睡眠:)我喜欢perl的TIMTOWTDIness…现在有时候我觉得有点迷茫,只要我只是从R开始,可能是由于它的不同方法,一般来说,关于标准命令式/oop编程。在本例中,差异并没有那么大(有6000个元素),但我正试图了解所有的性能问题,因为我看到了周围巨大差异的示例。谢谢你的帮助!
table(sapply(myList, function(x) paste(sort(x), collapse = ",")))
# 
#     A,B A,B,B,C 
#       3       3