如何确定R的安装支持哪些体系结构?在标准的Windows安装中,可能会查找是否存在R_HOME / bin / * / R.exe,其中*是体系结构(通常是i386或x64)。在CRAN的标准mac安装中,没有子目录。
我可以使用以下内容查询R的默认架构:
$ R --silent -e "sessionInfo()[[1]][[2]]"
> sessionInfo()[[1]][[2]]
[1] "x86_64"
但我怎么知道mac / linux上是否安装了任何子架构,如果安装了它们是什么?
答案 0 :(得分:3)
R.version
,R.Version()
,R.version.string
和version
提供有关R正在运行的版本的详细信息。
根据对问题的更好理解进行更新。这不是一个完整的解决方案,但似乎通过以下命令的组合可以非常接近:
# get all the installed architectures
arch <- basename(list.dirs(R.home('bin'), recursive=FALSE))
# handle different operating systems
if(.Platform$OS.type == "unix") {
arch <- gsub("exec","",arch)
if(arch == "")
arch <- R.version$arch
} else { # Windows
# any special handling
}
请注意,如果您从源代码构建了R并在不同的不同位置安装了不同的体系结构,则无法使用此功能。有关详细信息,请参阅2.6 Sub-architectures手册的R Installation and Administration。
答案 1 :(得分:0)
使用Sys.info()
您可以获得有关系统的大量信息。
可能在这里可以提供帮助
Sys.info()["machine"]
machine
"x86_64"
修改强>
让所有架构成为可能的一种解决方法是从Rstudio镜像下载log files,它不完整,但它可以很好地估计你需要的内容。
start <- as.Date('2012-10-01')
today <- as.Date('2013-07-01')
all_days <- seq(start, today, by = 'day')
year <- as.POSIXlt(all_days)$year + 1900
urls <- paste0('http://cran-logs.rstudio.com/', year, '/', all_days, '.csv.gz')
files <- file.path("/tmp", basename(urls))
list_data <- lapply(files, read.csv, stringsAsFactors = FALSE)
data <- do.call(rbind, list_data)
str(data)
## 'data.frame': 10694506 obs. of 10 variables:
## $ date : chr "2012-10-01" "2012-10-01" "2012-10-01" "2012-10-01" ...
## $ time : chr "00:30:13" "00:30:15" "02:30:16" "02:30:16" ...
## $ size : int 35165 212967 167199 21164 11046 42294 435407 326143 119459 868695 ...
## $ r_version: chr "2.15.1" "2.15.1" "2.15.1" "2.15.1" ...
## $ r_arch : chr "i686" "i686" "x86_64" "x86_64" ...
## $ r_os : chr "linux-gnu" "linux-gnu" "linux-gnu" "linux-gnu" ...
## $ package : chr "quadprog" "lavaan" "formatR" "stringr" ...
## $ version : chr "1.5-4" "0.5-9" "0.6" "0.6.1" ...
## $ country : chr "AU" "AU" "US" "US" ...
## $ ip_id : int 1 1 2 2 2 2 2 1 1 3 ...
unique(data[["r_arch"]])
## [1] "i686" "x86_64" NA "i386" "i486"
## [6] "i586" "armv7l" "amd64" "000000" "powerpc64"
## [11] "armv6l" "sparc" "powerpc" "arm" "armv5tel"