Как исправить в R: ошибка выбора неиспользуемых аргументов


Одна ошибка, с которой вы можете столкнуться в R:

Error in select(., cyl, mpg) : unused arguments (cyl, mpg)

Эта ошибка возникает, когда вы пытаетесь использовать функцию select() из пакета dplyr в R, но при этом загружен пакет MASS .

Когда это происходит, R пытается вместо этого использовать функцию select() из пакета MASS и выдает ошибку.

В этом руководстве рассказывается, как именно исправить эту ошибку.

Как воспроизвести ошибку

Предположим, мы пытаемся запустить следующий код, чтобы обобщить переменную в наборе данных mtcars в R:

library(dplyr)
library (MASS)

#find average mpg grouped by 'cyl'
mtcars %>%
 select(cyl, mpg) %>%
 group_by(cyl) %>%
 summarize(avg_mpg = mean(mpg))

Error in select(., cyl, mpg) : unused arguments (cyl, mpg)

Ошибка возникает из-за того, что функция select() из пакета MASS конфликтует с функцией select() из пакета dplyr.

Как исправить ошибку

Самый простой способ исправить эту ошибку — явно указать R использовать функцию select() из пакета dplyr, используя следующий код:

library(dplyr)
library (MASS)

#find average mpg grouped by 'cyl'
mtcars %>%
 dplyr::select(cyl, mpg) %>%
 group_by(cyl) %>%
 summarize(avg_mpg = mean(mpg))

# A tibble: 3 x 2
 cyl avg_mpg
1 4 26.7
2 6 19.7
3 8 15.1

Код успешно выполняется, потому что dplyr::select явно указывает R использовать функцию select() из пакета dplyr вместо пакета MASS.

Дополнительные ресурсы

В следующих руководствах объясняется, как устранять другие распространенные ошибки в R:

Как исправить в R: имена не совпадают с предыдущими именами
Как исправить в R: более длинная длина объекта не кратна более короткой длине объекта
Как исправить в R: контрасты могут применяться только к факторам с 2 или более уровнями