想象一下我有这样的数据:
Gene Sample
TP53 A
KRAS B
TP53 B
CMYC C
HB1 D
TP53 D
ERBB E
BRCA1 T
KRAS B
BRCA1 T我怎样才能得到每个基因活跃的样本数?换句话说,怎样才能得到列“样本”与列“基因”各因子匹配的因子数?
我想要的产出是:
Gene Sample
TP53 3
KRAS 1
CMYC 1
HB1 1
ERBB 1
BRCA1 1发布于 2020-05-14 10:51:34
使用unique()和table()。
table(unique(df)$Gene)
# BRCA1 CMYC ERBB HB1 KRAS TP53
# 1 1 1 1 1 3 dplyr解
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发布于 2020-05-14 10:49:41
使用dplyr的一个快速解决方案是
library(dplyr)
df %>%
group_by(Gene) %>%
summarise(Sample = n_distinct(Sample))输出
# 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 3https://stackoverflow.com/questions/61795420
复制相似问题