Функция переименования в Tidyverse не работает должным образом - PullRequest
0 голосов
/ 14 апреля 2020

У меня проблема с переименованием переменной в R.

dput(test)
structure(list(Accession = "tomato", Query = "Say1", `Hit type` = "specific"), row.names = c(NA, 
-1L), class = c("tbl_df", "tbl", "data.frame"))

Я пробовал:

test %>%
    rename(Newquery = Query)

, что привело к: Ошибка в переименовании (., Newquery = Query) : неиспользованный аргумент (Newquery = Query)

решено: в начале сеанса я по ошибке загрузил tidyverse и plyr вместо просто tidyverse. Как предположил @Edward, есть проблема с маскированием.

1 Ответ

0 голосов
/ 14 апреля 2020

Проблема связана с маскированием .

Если у вас загружено два или более пакетов и есть дублированные имена функций, R будет отдавать приоритет пакету, который вы загрузили последним.

Существует несколько простых решений.

  1. Выгрузите (отсоедините) от ненужного вам пакета (в данном случае, вероятно, plyr). detach(package:plyr)
  2. Загрузка dplyr после plyr.

    library(plyr) library(dplyr)

  3. Вызов функций явно с помощью двойное двоеточие dplyr::rename()

Вариант 3 громоздок. Вариант 2 на самом деле является только решением проблемы с пластырем. Вариант 1 может быть лучшим, или вариант 4: вообще не загружать plyr.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...