R行汇总到一个新列

时间:2015-07-08 19:20:01

标签: r statistics data-analysis

我是R的新手,这可能是一个非常简单的问题。 我还没能做出rsum / apply工作

我的任务是在我的数据框中添加所有不同的费用类别,并使用以下值创建一个新变量:

(不是原版)

Food      Dress    Car
235       564      532
452       632      719 
...       ...      ...

然后

Food      Dress    Car     Total
235       564      532     1331
452       632      719     1803
...       ...      ...     ...

我试过了:

rowsum,apply and aggregate,无法正确使用

2 个答案:

答案 0 :(得分:7)

转换为addmargins

后,您可以使用matrix
 addmargins(as.matrix(df1),2)
#     Food Dress Car  Sum
#[1,]  235   564 532 1331
#[2,]  452   632 719 1803

或使用rowSums

df1$Total <- rowSums(df1)

Reduce

df1$Total <-  Reduce(`+`, df1)

答案 1 :(得分:2)

使用apply函数:

cbind(dat, Total = apply(dat, 1, sum))
  Food Dress Car Total
1  235   564 532  1331
2  452   632 719  1803

或仅使用:

 cbind(dat, Total = rowSums(dat))
  Food Dress Car Total
1  235   564 532  1331
2  452   632 719  1803