Я пытаюсь вычесть один столбец из всех остальных, но не все столбцы изменены.
test <- tibble(a = 1:3, b = 2:4, c = 3:5, d = 4:6, e = 5:7)
col = 'd'
test %>% mutate_at(vars(-a), funs(. - !!as.name(col)))
a b c d e
<int> <int> <int> <int> <int>
1 1 -2 -1 0 5
2 2 -2 -1 0 6
3 3 -2 -1 0 7
Я не уверен, почему функция не применяется к столбцу e. Кажется, что функция применяется только к столбцу, который я использую для вычитания
col = 'b'
test %>% mutate_at(vars(-a), funs(. - !!as.name(col)))
a b c d e
<int> <int> <int> <int> <int>
1 1 0 3 4 5
2 2 0 4 5 6
3 3 0 5 6 7
Я получаю то же поведение, когда использую «список» вместо «приколы» (хотя мне не удалось выяснить, как использовать Dynami c имя переменной в «списке»)
test %>% mutate_at(vars(-a), list(~. - b))
a b c d e
<int> <int> <int> <int> <int>
1 1 0 3 4 5
2 2 0 4 5 6
3 3 0 5 6 7
Дайте мне знать, если я что-то здесь не так делаю.