首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R中不保留任何非唯一行的唯一/不安全

R中不保留任何非唯一行的唯一/不安全
EN

Stack Overflow用户
提问于 2021-01-15 14:44:18
回答 1查看 37关注 0票数 0

我有一个看起来像这样的tbl_df:

代码语言:javascript
复制
Genes  Cell     AC    FC
   <chr>  <chr> <dbl> <dbl>
 1 abts-1 MSx1   94.9  6.81
 2 acp-2  Ea    301.  32.4 
 3 acp-2  Ep    188.  20.6 
 4 acs-13 MSx1   69.1  8.20
 5 acs-22 Ea    176.  19.4 
 6 acs-22 Ep     64.3  7.70
 7 acs-3  Ea    156.  17.2 
 8 acs-3  Ep     75.5  8.87
 9 add-2  Ea    123.   6.62
10 add-2  Ep    125.   6.69

我想删除所有基于“基因”/不保留任何行的非唯一行。所以看起来应该是:

代码语言:javascript
复制
Genes  Cell     AC    FC
   <chr>  <chr> <dbl> <dbl>
 1 abts-1 MSx1   94.9  6.81
 2 acs-13 MSx1   69.1  8.20

其中没有重复的基因被选择,其余的列数据被保持。我试过了unique()、distinct()、!duplicated等等--这些都没有删除所有非unqiue行。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-15 14:50:36

试试这个:

代码语言:javascript
复制
library(dplyr)
#Code
new <- df %>%
  group_by(Genes) %>%
  filter(n()==1)

输出:

代码语言:javascript
复制
# A tibble: 2 x 4
# Groups:   Genes [2]
  Genes  Cell     AC    FC
  <chr>  <chr> <dbl> <dbl>
1 abts-1 MSx1   94.9  6.81
2 acs-13 MSx1   69.1  8.2 

所使用的一些数据:

代码语言:javascript
复制
#Data
df <- structure(list(Genes = c("abts-1", "acp-2", "acp-2", "acs-13", 
"acs-22", "acs-22", "acs-3", "acs-3", "add-2", "add-2"), Cell = c("MSx1", 
"Ea", "Ep", "MSx1", "Ea", "Ep", "Ea", "Ep", "Ea", "Ep"), AC = c(94.9, 
301, 188, 69.1, 176, 64.3, 156, 75.5, 123, 125), FC = c(6.81, 
32.4, 20.6, 8.2, 19.4, 7.7, 17.2, 8.87, 6.62, 6.69)), row.names = c(NA, 
-10L), class = "data.frame")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65738170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档