R - 将重复项提取到数据框

R - Extracting duplicates to a dataframe

我需要 R 方面的帮助,类似于问题 我希望从包含 2,000 多个条目的数据框中提取重复项。

前 15 行数据如下所示:

run id Diff
1 20 0
1 4 1024
1 4 1
1 4 1
1 4 65
1 4 1
1 4 1
1 11 475
1 11 1
1 11 1
2 25 0
2 18 0
2 18 1
2 18 1
2 18 1

我只想提取重复项,即

run id Diff
1 4 1024
1 4 1
1 4 1
1 4 65
1 4 1
1 4 1
1 11 475
1 11 1
1 11 1
2 18 0
2 18 1
2 18 1
2 18 1

使用命令

mydata_extract %>% group_by(id) %>% filter(n() > 1) 不提取数据,实际上我得到了返回的完整数据集。我需要更改有关“filter(n() > 1)”的内容吗?我是 R 的初学者。 抱歉,我的数据 table 格式不正确,在预览中看起来没问题!

我还想先按“运行”

对我的数据进行分组

也许在 group_by() 中添加 运行 和 id?

  library(dplyr)
   df <- tibble::tribble(
      ~"run", ~"id", ~"Diff",
      1, 20, 0,
      1, 4, 1024,
      1, 4, 1,
      1, 4, 1,
      1, 4, 65,
      1, 4, 1,
      1, 4, 1,
      1, 11, 4,
      1, 11, 1,
      1, 11, 1,
      2, 25, 0,
      2, 18, 0,
      2, 18, 1,
      2, 18, 1,
      2, 18, 1
    ) %>% 
     group_by(run, id) %>% 
      filter(n()>1)



   # A tibble: 13 x 3
# Groups:   run, id [3]
     run    id  Diff
   <dbl> <dbl> <dbl>
 1     1     4  1024
 2     1     4     1
 3     1     4     1
 4     1     4    65
 5     1     4     1
 6     1     4     1
 7     1    11     4
 8     1    11     1
 9     1    11     1
10     2    18     0
11     2    18     1
12     2    18     1
13     2    18     1

您可以添加一个 mutate,看看这个 n() 是如何工作的(计算每组的行数),例如

df %>% 
 group_by(run, id) %>% 
  mutate(n = n())