识别并计算R中匹配的数据帧?

时间:2017-11-21 08:17:14

标签: r

假设我有一个数据框列表,例如

    list.df <- replicate(1000, 
data.frame(l = sample(letters[1:5], 4), n = sample(c(1:4), 4)), 
simplify = F)

如何计算列表中相同数据帧的出现次数?

1 个答案:

答案 0 :(得分:0)

首先,您应该识别唯一的data.frames:

unique.df <- unique(list.df)

然后计算每个循环在list.df上的出现次数并计算它们出现的次数:

n_occurence <- NULL
for (elt in unique.df){
  n_occ <- 0 # A counter of occurence for this e
  for (df in list.df){
    if (identical(elt, df)){ # If df is exactly elt, we count it
      n_occ <- n_occ + 1
    }
  }
  n_occurence <- c(n_occurence, n_occ)
}

n_occurenceunique.df每个元素出现次数的列表。

并控制:

> sum(n_occurence) == 1000
[1] TRUE

现在由你决定你想要的形状......

出于好奇心......你为什么要那样做?你的用例是什么?