如何从r中的数据帧中提取唯一值

如何从r中的数据帧中提取唯一值,r,R,我想从这个数据框中提取唯一值作为示例 test <- data.frame(position=c("chr1_13529", "chr1_13529", "chr1_13538"), genomic_regions=c("gene", "intergenic", "intergenic")) 基本上我想提取具有唯一位置的行这里是一个tidyverse/dplyr解决方案 您只需按位置进行分组,计算发生次数,然后选择那些只有1次发生的次数 library(ti

我想从这个数据框中提取唯一值作为示例

test <- data.frame(position=c("chr1_13529", "chr1_13529", "chr1_13538"),
               genomic_regions=c("gene", "intergenic", "intergenic"))

基本上我想提取具有唯一位置的行

这里是一个
tidyverse
/
dplyr
解决方案

您只需按
位置
进行分组,计算发生次数,然后选择那些只有1次发生的次数

library(tidyverse)

test %>%
  group_by(position) %>%
  mutate(count = n()) %>%
  filter(count == 1) %>%
  select(-count)

下面是一个基本的R方法:

分为两部分:

  • 我们使用
    duplicated
  • 我们寻找不在重复职位列表中的职位
  • 然后我们对条件2进行子集
    测试

    test[!test$position %in% test$position[duplicated(test$position)],]
    #    position genomic_regions
    #3 chr1_13538      intergenic
    

    这也奏效了!我知道
    复制的
    函数,但缺少第2部分。谢谢
    
    test[!test$position %in% test$position[duplicated(test$position)],]
    #    position genomic_regions
    #3 chr1_13538      intergenic