Подтвердить что ты не робот

Эффективно суммировать по нескольким столбцам в R

У меня есть следующий сжатый набор данных:

a<-as.data.frame(c(2000:2005))
a$Col1<-c(1:6)
a$Col2<-seq(2,12,2)

colnames(a)<-c("year","Col1","Col2")

for (i in 1:2){
  a[[paste("Var_", i, sep="")]]<-i*a[[paste("Col", i, sep="")]]
}

Я хотел бы суммировать столбцы Var1 и Var2, которые я использую:

a$sum<-a$Var_1 + a$Var_2

На самом деле мой набор данных намного больше - я хотел бы суммировать от Var_1 до Var_n (n может быть до 20). Должен быть более эффективный способ сделать это, чем:

 a$sum<-a$Var_1 + ... + a$Var_n
4b9b3361

Ответ 1

Вы можете использовать colSums(a[,c("Var1", "Var2")]) или rowSums(a[,c("Var_1", "Var_2")]). В вашем случае вы хотите последнего.