如何按行数据计算

时间:2015-04-21 00:27:26

标签: r data.table

我现在正在使用数据包data.table,但是,我几乎找不到按行计算的方法。 例如:

apply(x,1,sum) # suppose x is a data.frame with many columns

有谁知道怎么做?

2 个答案:

答案 0 :(得分:2)

尽量避免按行操作,但如果必须:

dt[, your.by.row.operation, by = 1:nrow(dt)]

答案 1 :(得分:0)

您可以尝试使用transform()。例如,使用我拥有的虚拟数据集:

> head(data)
   sample     time.min       abs time.sec
1:  pur n 0.0008333334 0.4678054     0.05
2:  pur n 0.2508333325 0.4661632    15.05
3:  pur n 0.5008333325 0.4663149    30.05
4:  pur n 0.7508333325 0.4658490    45.05
5:  pur n 1.0008333920 0.4671631    60.05
6:  pur n 1.2508333920 0.4657932    75.05

让我们说我要总结两个"时间"将列组合在一起,并使用该值填充新列。我可以使用transform()来做到这一点:

> transform(data, time.sum = time.min + time.sec)
        sample     time.min       abs time.sec     time.sum
  1:     pur n 0.0008333334 0.4678054     0.05   0.05083333
  2:     pur n 0.2508333325 0.4661632    15.05  15.30083328
  3:     pur n 0.5008333325 0.4663149    30.05  30.55083328
  4:     pur n 0.7508333325 0.4658490    45.05  45.80083328
  5:     pur n 1.0008333920 0.4671631    60.05  61.05083691