Я прочитал «Программирование с помощью dplyr» и успешно написал свои первые функции, используя каналы dplyr и имена переменных.
Для удобства чтения, а также использования функций не-dyplr с использованием do(), Я переименовываю столбцы в начале скрипта, выполняю вычисления и возвращаю фрейм данных с дополнительной вычисляемой переменной.Проблема возникает при попытке вернуться к исходным именам переменных.
require(dplyr)
require(rlang)
myfun <- function(df, var1) {
var1 <- enquo(var1)
# Rename column of interest
df <- df %>% rename(tempname = UQ(var1))
# Calculate mean of column of interest
df <- df %>% mutate(calc = tempname*2)
# Rename column of interest back to original name
df <- df %>% rename(UQ(var1) = tempname)
}
test <- myfun(mtcars, cyl)
Выдается эта ошибка:
Error: unexpected '=' in:
" # Rename column of interest back to original name
df <- df %>% rename(UQ(var1) ="
> }
Error: unexpected '}' in "}"