2013-07-07 7 views
2

R 설치로 지원되는 아키텍처는 어떻게 결정됩니까? 표준 Windows 설치에서, R_HOME/bin/*/R.exe의 존재를 찾을 수 있습니다. *는 아키텍처 (일반적으로 i386 또는 x64)입니다. CRAN의 표준 Mac 설치에는 하위 디렉토리가 없습니다.설치된 R 아키텍처 결정

내가 좋아하는 뭔가를 사용하여 기본 아키텍처에 대한 R을 조회 할 수 있습니다

$ R --silent -e "sessionInfo()[[1]][[2]]" 
> sessionInfo()[[1]][[2]] 
[1] "x86_64" 

을하지만 하위 아키텍처가 설치되어 있는지 맥/리눅스에 어떻게 알 수 있는가, 그렇다면 그들은 무엇?

답변

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" 
+0

...하지만'Sys.info()'는 모든 플랫폼에서 지원되지 않습니다. –

+0

@JoshuaUlrich 방금 windows8이 설치된 오래된 컴퓨터에서 작동했지만 작동합니다. 도움말 파일에서 언급하지 않았거나 잘못되었습니다. – dickoa

+0

Windows 설명서에는 없지만 Unbuntu 설치 설명서에 들어 있습니다. * Details * 섹션의 첫 문장에 "이 기능은 모든 R 플랫폼에 구현되어 있지 않습니다 ..." –

3

R.version, R.Version(), R.version.stringversion는 R 실행 버전에 대한 자세한 정보를 제공합니다.

업데이트에 대한 더 나은 이해를 바탕으로합니다. 이것은 완전한 해결책이 아니다, 그러나 당신이 다음 명령의 조합을 통해 비슷한 얻을 수있는 것 : 당신이 소스에서 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 Installation and Administration 설명서의 2.6 Sub-architectures을 참조하십시오.

관련 문제