首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取与另一列的每个级别相匹配的列中的级别数。

获取与另一列的每个级别相匹配的列中的级别数。
EN

Stack Overflow用户
提问于 2020-05-14 10:46:20
回答 2查看 22关注 0票数 0

想象一下我有这样的数据:

代码语言:javascript
复制
Gene   Sample
TP53     A
KRAS     B
TP53     B
CMYC     C
HB1      D
TP53     D
ERBB     E
BRCA1    T
KRAS     B
BRCA1    T

我怎样才能得到每个基因活跃的样本数?换句话说,怎样才能得到列“样本”与列“基因”各因子匹配的因子数?

我想要的产出是:

代码语言:javascript
复制
Gene   Sample
TP53     3
KRAS     1
CMYC     1
HB1      1
ERBB     1
BRCA1    1
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-05-14 10:51:34

使用unique()table()

代码语言:javascript
复制
table(unique(df)$Gene)

# BRCA1  CMYC  ERBB   HB1  KRAS  TP53 
#     1     1     1     1     1     3 

dplyr

代码语言:javascript
复制
library(dplyr)

df %>% distinct %>% count(Gene)

# # A tibble: 6 x 2
#   Gene      n
#   <fct> <int>
# 1 BRCA1     1
# 2 CMYC      1
# 3 ERBB      1
# 4 HB1       1
# 5 KRAS      1
# 6 TP53      3
票数 2
EN

Stack Overflow用户

发布于 2020-05-14 10:49:41

使用dplyr的一个快速解决方案是

代码语言:javascript
复制
library(dplyr)

df %>% 
  group_by(Gene) %>% 
  summarise(Sample = n_distinct(Sample))

输出

代码语言:javascript
复制
# A tibble: 6 x 2
#   Gene  Sample
#   <chr>  <int>
# 1 BRCA1      1
# 2 CMYC       1
# 3 ERBB       1
# 4 HB1        1
# 5 KRAS       1
# 6 TP53       3
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61795420

复制
相关文章

相似问题

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