Мы можем установить поднабор данных, чтобы удалить первый столбец (.[-1]
), получить rowSums
и вычесть из 'column1'
library(tidyverse)
df %>%
mutate(result = column1 - rowSums(.[-1]))
# column1 column2 column3 result
#1 3 2 1 0
#2 3 2 1 0
Если есть еще столбцы и вы хотите выбрать последнийдва столбца
df %>%
mutate(result = column1 - rowSums(.[tail(names(.), 2)]))
Если у нас есть только индекс столбцов, участвующих в операции
df %>%
mutate(result = .[[1]] - rowSums(.[c(2, 3)]))
data
df <- structure(list(column1 = c(3L, 3L), column2 = c(2L, 2L), column3 = c(1L,
1L)), class = "data.frame", row.names = c(NA, -2L))