R, RStudio: программно переключаться между 32-битной и 64-битной версиями R
Есть ли функция, которая в RStudio перезапускает консоль R в 64-битном режиме или 32-битном режиме без повторного открытия RStudio (или, по крайней мере, автоматически повторного открытия, если этого нельзя избежать)?
Я обычно использую 32-битную версию при использовании RODBC
так что я могу получать данные из базы данных Access, но в противном случае хотел бы использовать возможности 64-битного режима для всех других задач, оставаясь в RStudio.
1 ответ
Вы можете сохранить часть своего кода, которую хотите выполнить, используя 32-битный исполняемый файл, в новый скрипт. Например, у меня есть скрипт под названиемmyscript.r
который просто напечатает, какая версия исполняемого файла R (64 или 32-разрядная), которая использовалась для его запуска:
cat(as.character(version[2]))
Конечно, вы можете заменить это частью кода, связанной сRODBC
.
В настоящее время основным способом программного запуска сценария с пользовательским исполняемым файлом является вызов команды в терминал или оболочку ОС . Эта команда должна содержать:
- Какой исполняемый файл вызывать, в нашем случае R 32-битный (файл
Rscript.exe
файл, содержащийся вi386
папка вашегоR_HOME
каталог) - Аргументы, принимаемые этим исполняемым файлом, например путь к сценарию R, который мы хотим запустить с помощью этого исполняемого файла.
Путьmyscript
является"c:/gp/trash/myscript.r"
, а мой 32-битный исполняемый файл R
paste0(Sys.getenv("R_HOME"), "/bin/i386/Rscript.exe)
C:/PROGRA~1/R/R-40~1.4/bin/i386/Rscript.exe
Я могу запустить этот скрипт, используя:
myscript <- "c:/gp/trash/myscript.r"
output <- system(paste0(Sys.getenv("R_HOME"), "/bin/x64/Rscript.exe ", myscript), wait = FALSE, invisible = FALSE, intern = T)
output
[1] "x86_64"
output_32 <- system(paste0(Sys.getenv("R_HOME"), "/bin/i386/Rscript.exe ", myscript), wait = FALSE, invisible = FALSE, intern = T)
output_32
[1] "i386"
Как видите, мы выполняем этот скрипт из двух разных исполняемых файлов. На практике я бы предложил сохранять результаты ваших ODBC-запросов в файл, который вы можете прочитать в своем главномx64
Р сессия.
Немного словарного запаса, если вы не знаете некоторых из этих терминов:
Термины «терминал» или «оболочка» часто используются взаимозаменяемо. В RStudio, если щелкнуть вкладку терминала рядом с консолью , вы сможете вводить команды , которые будут обрабатываться оболочкой .
- Команды оболочки — это инструкции, которые предписывают системе выполнить какое-либо действие.
- Оболочка — это пользовательский интерфейс для доступа к службам операционной системы.
- Терминал — это программа-оболочка, которая запускает оболочку и позволяет нам вводить команды .
источники: терминал, консоль и cli , команды оболочки , скрипты с r, этот ответ stackoverflow