Предположим, я следующий кадр данных:Программно суммировать столбцы кадра данных?
dd <- data.frame(x1 = c(1, 2, 3), x2 = c(3, 4, 5), x3 = (5, 6, 7))
Я хочу, чтобы создать новый столбец, например, так:
dd$x.sum <- dd$x1 + dd$x2 + dd$x3
Но вместо того, чтобы выписывать добавление (предположим, я на самом деле есть 100 столбцов x1, x2, ..., x100
что я хочу суммировать вместе), я хочу написать это программно. Что-то вроде:
dd$x.sum <- sum(sapply(1:3, function(i) {
return(dd[paste0("x", i)])
}))
За исключением этого не работает.
Как это сделать?
делает 'dd' другие столбцы с разными именами? В противном случае это должно работать - 'dd $ x.sum <- rowSums (dd)'? – Nishanth
Да, 'dd' имеет другие столбцы, которые я не хочу в сумме. – grautur