Итак, у меня есть один столбец информационного кадра, который содержит значение, равное другому имени столбца. Для каждой строки я хочу изменить значение столбца с именем.
df <- tibble(.rows = 6) %>% mutate(current_stage = c("Stage-1", "Stage-1", "Stage-2", "Stage-3", "Stage-4", "Stage-4"), `Stage-1` = c(1,1,1,2,4,5), `Stage-2` = c(40,50,20,10,15,10), `Stage-3` = c(1,2,3,4,5,6), `Stage-4` = c(NA, 1, NA, 2, NA, 3))
A tibble: 6 x 5
current_stage `Stage-1` `Stage-2` `Stage-3` `Stage-4`
<chr> <dbl> <dbl> <dbl> <dbl>
Stage-1 1 40 1 NA
Stage-1 1 50 2 1
Stage-2 1 20 3 NA
Stage-3 2 10 4 2
Stage-4 4 15 5 NA
Stage-4 5 10 6 3
Итак, в первой строке я бы хотел отредактировать значение в столбце Stage-1
, поскольку в столбце current_stage
указано Stage-1
. Я пытался использовать !!rlang::sym
:
df %>% mutate(!!rlang::sym(current_stage) := 15)
но я получаю ошибку: Error in is_symbol(x) : object 'current_stage' not found
.
Это вообще возможно сделать? Или я должен просто прикусить пулю и написать другую функцию?