Программирование с помощью dplyr - временное переименование столбцов с помощью !! / UQ () - PullRequest
1 голос
/ 07 марта 2019

Я прочитал «Программирование с помощью 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 "}"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...