R: Сума от клетки във всяка колона по ред

Създадох таблица, в която въведох някои стойности в първите три колони. Сега искам да изчисля сбора на всички клетки във всеки ред поотделно в четвърта колона.
напр.:

v1 v2 v3 v4
1  2  3  6 
4  5  6  15  

Тук има някои стойности в първите три колони, а четвъртата колона съдържа сумата от първите три клетки във всеки ред. Може ли някой да предложи метод?


r sum
person Sabhijiit    schedule 13.08.2015    source източник
comment
Друг вариант би бил addmargins(as.matrix(df1), 2)   -  person akrun    schedule 13.08.2015


Отговори (2)


Може би

T <- cbind(T,rowSums(T))

ако Т е таблицата.

person mra68    schedule 13.08.2015
comment
Благодаря приятел! Проработи. - person Sabhijiit; 13.08.2015
comment
По-добре е да актуализирате T вместо да копирате целите данни. T["res"] <- rowSums(T), трябва да е по-добър вариант IMO - person David Arenburg; 13.08.2015

Можете да опитате apply() с функцията sum:

df$v5 <- apply(df,1,sum)
> df
#  v1 v2 v3 v4 v5
#1  1  2  3  6 12
#2  4  5  6 15 30

Тук стойността на втория параметър в apply(), 1, показва, че сумирането трябва да се извърши за всеки ред от рамката с данни.

данни

df <- read.table(text="v1 v2 v3 v4
                        1  2  3  6 
                        4  5  6  15", header=T)
person RHertel    schedule 13.08.2015