Отказ от ответственности: я незнаком с R
.
С R: Поиск путей :
Путь поиска библиотеки инициализируется при запуске из среды
переменная R_LIBS (которая должна быть разделенным двоеточиями списком каталогов
в котором R библиотечные деревья укоренены), а затем в среде
переменная R_LIBS_USER. Только каталоги, которые существуют в то время, будут
включен.
По умолчанию R_LIBS не установлен, а R_LIBS_USER установлен в каталог
‘R / R.version $ platform-library / x.y’ домашнего каталога (или
«Библиотека / R / x.y / библиотека» для сборок CRAN macOS), для R x.y.z.
Переменная окружения может быть создана с помощью set VARIABLE_NAME=YOUR_VALUE
пакетной команды.
Таким образом, ваш командный файл, вероятно, должен выглядеть примерно так:
cd /d "C:\INSERT_PATH_TO_DIRECTORY_CONTAINING_script.R"
set "R_LIBS=C:\Users\username\Documents\R\R-3.5.1\library"
"C:\Program Files\R\R-3.5.1\bin\x64\Rscript.exe" script.R
Однако по причинам переносимости (скажем, коллега просит копию вашего скрипта или ваш компьютер умирает), я предлагаю поместить скрипт, библиотеку R и командный файл в один каталог, скажем, C:\Users\username\Documents\R
. Пакетный файл C:\Users\username\Documents\R\script.bat
становится:
cd /d "%~dp0"
set "R_LIBS=%~dp0R-3.5.1\library"
"%PROGRAMFILES%\R\R-3.5.1\bin\x64\Rscript.exe" "%~dpn0.R"
%PROGRAMFILES%
переменная окружения расширяется до полного пути к папке program files
, %~dp0
параметр раскрывается до полного пути каталога, в котором находится ваш пакетный файл, а %~dpn0
является пакетным файлом полный путь без расширения.
Обратите внимание, что %~dp0R-3.5.1
не является опечаткой, поскольку %~dp0
включает в себя обратную косую черту.
Таким образом, вы можете скопировать C:\Users\username\Documents\R
в D:\Users\SOMEOTHERNAME\Documents\R
, и скрипт все равно будет работать.
Если вы создаете другую версию своего скрипта, просто скопируйте командный файл, чтобы он имел то же имя файла, что и ваш скрипт, но с расширением .bat
вместо .R
, и он должен вызывать новый скрипт - это оказалось очень удобно при отладке и распространении скриптов.
В качестве альтернативы, если вы предпочитаете устанавливать библиотеки отдельно, вы можете использовать %HOMEDRIVE%%HOMEPATH%
, который расширяется до C:\Users\username
.
Извлечение правильного Documents
пути к папке, а также R
пути установки возможно, но требует чтения реестра и, следовательно, немного сложнее.