繁体   English   中英

如何计算向量在列表中出现多少次? 在R中

[英]How to calculate how many times vector appears in a list? in R

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

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

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

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

“ a” 277

“ b” c“ 49

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

我真的很感谢在此方面可能提供的帮助。

提前非常感谢您。

蒂娜

也许您应该看一下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可重现示例? 正如已经向您建议的。

实际上,我只是在猜测您要做什么。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM