计算每个唯一元素在列表中出现的次数

Count number of times each unique element appears in a list

如何计算每个唯一元素在列表中出现的次数?

example_list <- list(
  c(1,1),
  c(1,2),
  c(1,1),
  c(1,2,3),
  c(1,1),
  c(1,2,3)
)

编辑:唯一元素是向量而不是向量中的数字

如果是相似元素的计数,一种选择是 paste list 中的元素,方法是用 sapply 遍历 list 来创建一个 vector,用table

得到频率计数
table(sapply(example_list, paste, collapse=' '))

#  1 1   1 2 1 2 3 
#    3     1     2 

或者另一种选择是从 list 转换为宽数据集并使用 count

library(dplyr)
library(tidyr)
tibble(col1 = example_list) %>% 
   unnest_wider(col1) %>% 
   count(across(everything()))

索引 1、2 和 4 处的元素是唯一的,分别出现 3 次、1 次和 2 次

table(match(example_list, example_list))

# 1 2 4 
# 3 1 2