& Ldquo; выберите & Rdquo; в R - ошибка [дубликат]

Вот несколько простых шагов для этого:

  1. удалить пакет rJava: remove.packages (rJava)
  2. закрыть R
  3. установить последние Java на вашем mac
  4. откройте терминал и введите следующую команду: sudo R CMD javareconf
  5. Откройте R и установите rJava с помощью этой команды: install.packages («rJava», dependencies = TRUE, type = "source")
43
задан luciano 13 June 2014 в 10:32
поделиться

3 ответа

Как сказал Паскаль, следующие работы

require(MASS)
require(dplyr)
mtcars %>%
   dplyr::select(mpg)
45
ответ дан David Arenburg 28 August 2018 в 16:37
поделиться

Если вы сначала загрузите библиотеку MASS и второй dplyr one

library (MASS)
library (dplyr)

, тогда первая версия функции select в вашей сессии searchpaths () будет той, библиотеки dplyr.

Следовательно,

select(mtcars, mpg)

будет работать как

dplyr::select(mtcars, mpg)
4
ответ дан dmontaner 28 August 2018 в 16:37
поделиться

Это случается со мной чаще, чем я должен признать. dplyr сталкиваются с MASS::select, plyr::summarise и stats::filter, среди прочего, особенно при загрузке пакетов, загружающих одну из этих библиотек через библиотеку (они не должны, но некоторые до сих пор) или когда вы загружаете dplyr в свой .Rprofile (не надо!). И это может привести к довольно неясным проблемам, а не всегда к сообщению об ошибке, особенно к конфликтам с plyr.

Я только недавно узнал о функции conflicts(). Это полезно, но конфликты «over-reports», когда два пакета имеют одинаковые функции, например. tidyr :: %>% и dplyr :: %>%.

Итак, я написал функцию , чтобы сказать мне, схожу ли я с ума или есть конфликт, вызывающий текущая ошибка. Он не только проверяет наличие конфликтов, но проверяет, является ли определенный желаемый пакет «сверху» и действительно ли тела функции отличаются.

Он делает это для dplyr по умолчанию, но вы можете указать другой пакет используя параметр want_package. Например, я часто сбиваюсь с помощью recode и alpha, которые повторно используются во многих пакетах.

Использование просто: amigoingmad().

По умолчанию это также автоматически «фиксирует» вещи, если dplyr не «сверху», используя следующие команды:

detach("package:dplyr", character.only = TRUE)
library("dplyr", character.only = TRUE)

Обратите внимание, что функция будет сообщать, если заданная пользователем функция блокирует dplyr, но не исправить это автоматически в целях безопасности (просто удалите функцию в этом случае).

На данный момент это решение не вызвало у меня никаких проблем. Конечно, я бы не стал использовать это в производственном коде, но когда вы отлаживаете файл .Rmd и, возможно, случайно испортили заказ на загрузку, это быстрый способ узнать.

Если вы хотите это в пакете:

devtools::install_github("rubenarslan/formr")
16
ответ дан Ruben 28 August 2018 в 16:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: