2015-07-08 5 views
0

Я новичок в R, и это, вероятно, очень простой вопрос. я просто не в состоянии сделать rsum/применить работыR ряд суммирования в новую колонку

Моя задача состоит в том, чтобы добавить все различные категории расходов в моем dataframe и создать новую переменную с этим значением, как это:

(не оригинал)

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

, а затем

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

Я пробовал:

rowsum, применять и агрегировать и не может получить это право

ответ

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) 
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 
Смежные вопросы