【问题标题】:How do I remove repeated and identical rows from a dataframe in R? [duplicate]如何从 R 中的数据框中删除重复和相同的行? [复制]
【发布时间】:2021-10-09 13:19:34
【问题描述】:

为了我的目的,我有一个包含两行多行的大型数据集,我正在尝试弄清楚如何使它变得简单和可用。我已经删除了所有我不需要的列(目前)并删除了所有 NA 行。

数据如下:

   SampleID   Score   Habitat  
   001-1         0     MCSHRU  
   001-2         1     MCSHRU  
   001-2         1     MCSHRU  
   001-2         1     MCSHRU  
   001-3         0       MCRU  
   001-4         3     MCSHRU  
   001-4         3     MCSHRU

样本 001-2 有三个条目,它们都是一样的。这是因为原始数据集在每个样本中发现的每个物种都有一行。我对物种数据不感兴趣,我只想比较每个栖息地的分数。

我希望每个 SampleID 都只有一行。我可以取分数数据的平均值或最小值,但我不确定如何处理 Habitat 数据,因为它是分类数据。

如何清除重复的数据行,使每个 SampleID 仅有一行数据?

最后应该是这样的:

  SampleID   Score   Habitat  
   001-1         0    MCSHRU  
   001-2         1    MCSHRU  
   001-3         0      MCRU  
   001-4         3    MCSHRU

【问题讨论】:

  • dplyr::distinct(df) 或者如果您有更多列 dplyr::distinct(df, SampleID, Score, MCSHRU, .keep_all = TRUE)

标签: r dataframe


【解决方案1】:

使用来自baseunique(df) 或来自dplyrdistinct(df)

【讨论】:

  • 感谢闪电般的快速响应!我使用了df2 <- df %>% distinct(SampleID, .keep_all = TRUE),效果很好。
猜你喜欢
  • 2015-11-03
  • 2016-11-02
  • 2020-04-03
  • 2021-05-27
  • 2017-03-06
  • 2020-02-16
  • 1970-01-01
  • 2012-11-13
相关资源
最近更新 更多