При загрузке нескольких пакетов для работы с некоторыми данными я получил сообщение об ошибке при попытке использовать функцию select()
из пакета dplyr
. Я пытался использовать новый пакет (для меня), MASS
, поэтому я мог легко диагностировать и работать правильно. Однако этот опыт заставил меня задуматься об оптимальном способе работы в мире множества пакетов с функциями, конфликтующими друг с другом.
Рассмотрим следующий код и сообщение об ошибке:
library(dplyr)
library(MASS)
df<-data.frame(Lobsters=c(1,3,4,5,7,1),Llamas=c(7,1,2,5,8,3))
df2<-df%>%
select(Lobsters)
Ошибка в select (., Lobsters): неиспользованный аргумент (Lobsters)
Несмотря на то, что из-за этой ошибки выясняется, что select () создает для меня проблему, она не обязательно вызывает мне ясно, что проблема в том, что я не вызываю функцию select()
, к которой я привык.
Я знаю, что могу вызвать функцию dplyr
и получить желаемый результат, используя:
df2_alt<-df%>%
dplyr::select(Lobsters)
Интересно, хотя:
Существует ли лучшая практика диагностики проблем с одноименными функциями, кроме сообщений "Следующий объект маскируется из" когда загружен пакет?
Является ли мой метод dplyr::select(
лучшим способом обойти эти конфликты?
В конечном счете, мой текущий стратегия состоит в том, чтобы загрузить пакет, который имеет select()
удовольствие ction Я буду использовать больше после пакета с менее часто используемой версией.