如何将Rtools\bin添加到R中的系统路径

Edd*_*ala 3 r shiny

我从https://github.com/MikeJSeo/SAM运行一个Shiny应用程序 和访问它的代码:

install.packages(c("samr", "matrixStats", "GSA", "shiny", "openxlsx"))
source("http://bioconductor.org/biocLite.R")
biocLite("impute")
library(shiny)
runGitHub("SAM", "MikeJSeo")
Run Code Online (Sandbox Code Playgroud)

该应用程序运行良好但我在尝试保存输出时出错.这是我获得的错误:

Warning: Error in : zipping up workbook failed. Please make sure Rtools is installed or a zip application is available to R.
Try installr::install.rtools() on Windows. If the "Rtools\bin" directory does not appear in Sys.getenv("PATH") please add it to the system PATH 
or set this within the R session with Sys.setenv("R_ZIPCMD" = "path/to/zip.exe")
Run Code Online (Sandbox Code Playgroud)

我试过了;

Sys.getenv("PATH")
Run Code Online (Sandbox Code Playgroud)

而输出是

[1] "C:\\Program Files\\R\\R-3.4.1\\bin\\x64;C:\\ProgramData\\Oracle\\Java\\javapath;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files\\ActivIdentity\\ActivClient\\;C:\\Program Files (x86)\\ActivIdentity\\ActivClient\\;C:\\Program Files (x86)\\Addinsoft\\XLSTAT\\;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\"
Run Code Online (Sandbox Code Playgroud)

我假设我的错误是因为我没有"Rtools\bin"目录.我试过了,

Sys.setenv("R_ZIPCMD" = "mypath/to/zip.exe")
Run Code Online (Sandbox Code Playgroud)

但不是运气.那么我该如何纠正这个呢?

Edd*_*ala 9

这解决了我的问题.

library(devtools)
Sys.setenv(PATH = paste("C:/Rtools/bin", Sys.getenv("PATH"), sep=";"))
Sys.setenv(BINPREF = "C:/Rtools/mingw_$(WIN)/bin/")
Run Code Online (Sandbox Code Playgroud)

  • 我有一个类似的问题。但每次在我的 nem PC 中打开 RStudio 时,我总是需要将“Rtools”设置为系统路径。关于如何解决这个问题有什么想法吗? (2认同)

Jea*_*aul 5

要回答 John Doe 的问题,您可以通过将此行添加到您的.Rprofile:

Sys.setenv(PATH = paste("C:/Rtools/bin", Sys.getenv("PATH"), sep=";"))
Run Code Online (Sandbox Code Playgroud)

.Rprofile需要位于命令指向的路径上Sys.getenv("HOME")