Tidyverse и dplyr - пакет ошибок или пространство имен - PullRequest
0 голосов
/ 17 апреля 2020

Не получается заставить функцию фильтра работать вместе с загрузкой tidyverse. Я сравнил код и знаю, что он правильный, но я каждый раз получаю сообщения об ошибках. Я проверил несколько онлайн-ресурсов, и ни один из них не помог. Я также обновил все свои пакеты и перезапустил их. Любая помощь приветствуется!

Это мой код:

library(tidyverse)

ggplot(data = mpg) +
  geom_point(mapping = aes(x = displ, y = Hwy))

filter(mpg, cyl == 8)
filter(diamonds, carat > 3)

Ошибки:

library(tidyverse)

Error: package or namespace load failed for ‘tidyverse’ in loadNamespace(I, 
c(lib.loc, .libPaths()), versionCheck = vI[[i]]):
 namespace ‘rlang’ 0.4.2 is already loaded, but >= 0.4.3 is required
In addition: Warning message:
package ‘tidyverse’ was built under R version 3.6.3 

filter(mpg, cyl == 8)

Error in filter(mpg, cyl == 8) : object 'cyl' not found
    In addition: Warning messages:
    1: In data.matrix(data) : NAs introduced by coercion
    2: In data.matrix(data) : NAs introduced by coercion
    3: In data.matrix(data) : NAs introduced by coercion
    4: In data.matrix(data) : NAs introduced by coercion
    5: In data.matrix(data) : NAs introduced by coercion
    6: In data.matrix(data) : NAs introduced by coercion

    filter(diamonds, carat > 3)

    Error in filter(diamonds, carat > 3) : object 'carat' not found

1 Ответ

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

Ваша проблема в том, что tidyverse не загружается в ваш сеанс R, и поэтому, когда вы вызываете filter, это происходит из пакета stats, а не из dplyr. Вот почему рекомендуется использовать пространства имен в R, например dplyr::filter, чтобы вы точно знали, какую функцию вы вызываете.

Чтобы исправить ошибку при загрузке tidyverse, обновите библиотеку rlang:

update.packages()

А потом попробуйте

dplyr::filter(mtcars, cyl == 8)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...