通过重复的行名称跨列合并值

时间:2018-08-19 03:25:28

标签: r

我有一个大的数据矩阵(37000 x 2689),具有重复的行名,我试图通过其行名合并列值(样本)。我已经尝试过使用dplyr软件包使用sum,但是对Eg毫无帮助,在这里,基因列理想情况下应该成为行名,但R不允许重复的行名。

gene sampleA sampleB sampleC
aaa    0        0      78
bbb    0        0       1
ccc    0        0      34
aaa    0        10      0
bbb    0        2       0
ccc    0        17      0
aaa    3         0      0
bbb    900       0      0
ccc    6         0      0

1 个答案:

答案 0 :(得分:0)

使用dplyr,这应该很简单:

set.seed(123)
df <- data_frame(gene=rep(c('aaa', 'bbb', 'ccc'), 3), 
      sampleA=rnorm(9), sampleB=rnorm(9), sampleC=rnorm(9))

这会给你..

> head(df)
# A tibble: 6 x 4
  gene  sampleA sampleB sampleC
  <chr>   <dbl>   <dbl>   <dbl>
1 aaa   -0.560   -0.446   0.701
2 bbb   -0.230    1.22   -0.473

然后使用dplyr的{​​{1}}和group_by函数进行汇总。

summarise_at