【问题标题】:Trying to merge data table rows/find sum of table rows in R by alphabetical order?尝试按字母顺序合并数据表行/在 R 中查找表行总和?
【发布时间】:2015-08-04 16:28:07
【问题描述】:

这是我创建的数据表的一部分:

我正在尝试将基因行压缩成一行,并将 1、0 和 -1 添加在一起。

它看起来像这样:

ABTB2  1 
ABTB2  0
ABTB2 -1
AIRE   0 
AIRE   1
AIRE   1

看起来像这样:

ABTB2  0
AIRE   2 

【问题讨论】:

  • 使用dplyr,这应该可以工作,假设你的数据表被称为df:df.sum <- summarise(group_by(df, geneAlph), d.sum = sum(d))
  • 试试aggregate(d ~ geneAlph, FUN=sum, data=yourData)
  • with(data, tapply(d, geneAlph, sum)

标签: r matrix dataframe


【解决方案1】:

数据表通常是最快的,当您拥有数百万行时,这是一个巨大的福音:

library(data.table)
setDT(mydata)[, n:=sum(d), by=geneAlph]

geneAlph n
1:    ABTB2  0
2:     AIRE  2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-12
    • 2016-10-15
    • 1970-01-01
    相关资源
    最近更新 更多