首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >确定安装了哪些R架构

确定安装了哪些R架构
EN

Stack Overflow用户
提问于 2013-07-08 00:57:28
回答 2查看 245关注 0票数 2

如何确定R安装支持哪些体系结构?在标准windows安装中,可能会查找是否存在R_HOME/bin/*/R.exe,其中*是体系结构(通常是i386或x64)。在从CRAN安装的标准mac上,没有子目录。

我可以查询R以获取默认架构,如下所示:

代码语言:javascript
复制
$ R --silent -e "sessionInfo()[[1]][[2]]"
> sessionInfo()[[1]][[2]]
[1] "x86_64"

但我如何知道mac/linux上是否安装了任何子体系结构,如果安装了,又是什么子体系结构?

EN

回答 2

Stack Overflow用户

发布于 2013-07-08 01:15:43

R.versionR.Version()R.version.stringversion提供了有关运行的R版本的详细信息。

更新,基于对问题的更好理解。这不是一个完整的解决方案,但似乎可以通过以下命令的组合来接近:

代码语言:javascript
复制
# 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并将不同的架构安装在不同的地方,那么这将不起作用。有关更多详细信息,请参阅R Installation and Administration手册的2.6 Sub-architectures

票数 3
EN

Stack Overflow用户

发布于 2013-07-08 01:07:12

使用Sys.info(),您的系统上有大量的信息。也许它能在这方面有所帮助

代码语言:javascript
复制
Sys.info()["machine"]
 machine 
"x86_64" 

编辑

一种可能的解决方案是从Rstudio镜像下载log files,它并不完整,但它很好地估计了您所需要的内容。

代码语言:javascript
复制
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"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17514190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档