Я стараюсь следовать руководству в http://adv-r.had.co.nz/Rcpp.html понять Rcpp , но я всегда нужно запускать devtools::find_rtools()
, прежде чем работает любая функция Rcpp: Если яЗачем мне нужно запускать find_rtools() до has_devel() = TRUE?
library(devtools)
library(Rcpp)
has_devel() # Error: Command failed(1)
# Example from http://adv-r.had.co.nz/Rcpp.html
add <- cppFunction('int add(int x, int y, int z) {
int sum = x + y + z;
return sum;
}')
Я получаю сообщение об ошибке и Rstudio мне подсказывает установить дополнительные сборки инструменты (но ничего не происходит, когда я говорю «да»). Похоже, что команда make не работает, но system("where make")
дает путь, который находится в моем PATH. Когда я затем сделать
find_rtools() # True
has_devel() # True
# Try the example again
add <- cppFunction('int add(int x, int y, int z) {
int sum = x + y + z;
return sum;
}')
# Now works
add(1,2,3) # 6
как DevTools и Rcpp, кажется, чтобы быть счастливым. Почему это и как я могу это исправить?
Вот начало моего пути
path <- get_path()
head(path, 8)
[1] "F:\\Software\\R-3.3.0\\bin\\x64"
"F:\\Software\\Rtools\\bin"
[3] "F:\\Software\\Rtools\\gcc-4.6.3\\bin"
"F:\\Software\\Python 3\\Scripts\\"
[5] "F:\\Software\\Python 3\\"
"F:\\Software\\Rtools\\bin"
[7] "F:\\Software\\Rtools\\gcc-4.6.3\\bin"
"C:\\Program Files (x86)\\Intel\\iCLS Client\\"
Это путь от чистой R сессии? 'find_rtools()' изменяет ваш путь только для этой сессии. Если вы хотите, чтобы это работало постоянно, без необходимости запуска devtools, измените свой путь через диалог переменных среды (в меню «Пуск» Windows). – Thomas
Да, это с чистого сеанса. Но какой каталог отсутствует на пути, у Rtools, по-видимому, есть хотя бы некоторые каталоги? – luoar