2017-01-09 2 views
0

Я попытался найти ответ и абсолютно не могу найти решения. Я недавно установил пакет «каре» для R, но когда я пытаюсь обучить любые модели на всех, это дает мне следующую ошибку:R "caret" пакет, запущенный в компиляционную среду error

Warning: namespace ‘compiler’ is not available and has been replaced 
by .GlobalEnv when processing object ‘sep’ 
Error in comp(expr, env = envir, options = list(suppressUndefined = TRUE)) : 
    could not find function "makeCenv" 

Из того, что я могу сказать, это должно сделать с помощью встроенного в компиляторе. Большинство ответов, которые я видел, упоминают пакет doMC, но я не думаю, что это имеет значение здесь, потому что я не распараллеливаю что-либо. Я смог успешно запустить тот же код на других машинах, поэтому я полностью зациклен на том, что может быть проблемой. Вот пример кода, который вызывает ошибку для меня:

library(caret) 
fit.knn <- train(Species ~ ., data=iris, method="knn") 

Это, кажется, не имеет значения, какой метод я использую, или какие данные я тренируюсь на. Я попытался переустановить пакет и переустановить R. Я запускаю R v.3.3.2 в Windows, а пакет caret - самая последняя версия. Любая помощь будет оценена!

ответ

0

Я, наконец, нашел решение этой проблемы. Я использовал уникальную настройку, где я установил местоположение моей библиотеки в глобальную папку, поэтому мне не пришлось бы переместить все мои пакеты из «3.2» в папку «3.3» и т. Д. Каждый раз, когда я обновлял R. Мое решение сработало, но имело побочный эффект удаления расположения библиотеки по умолчанию в Program Files (тот, который включает базовые пакеты).

Это, казалось, работало отлично для всего, что я делал, поэтому я никогда не замечал вопроса, пока не начал использовать caret. Но по какой-то причине, по-видимому, встроенный компилятор (используемый некоторой зависимостью caret) не работает должным образом с этой установкой и нуждается в явной ссылке на расположение библиотеки программных файлов в .libPaths(). После того, как все изменилось до значения по умолчанию, все работает нормально.

Так что, хотя это неясная ошибка и, вероятно, не то, что люди могут испытать, для тех, кто прибыл сюда из Google, отметьте libPaths() и убедитесь, что там есть два места: ваша папка пользователя (в разделе «Мои документы» по умолчанию) и расположение библиотеки по умолчанию, которое включает все базовые пакеты (в «Program Files»).

+0

У меня была такая же проблема с пакетом Caret, и я смог ее решить, обновив Rstudio и установив версию Caret, которая является одной версией старше самой последней. –