R에 어떤 패키지 버전이로드되어 있는지 확인하는 방법
대학 클러스터 사용 방법을 파악하는 중입니다. 2 가지 버전의 R이 설치되어 있습니다. 비표준 위치의 시스템 전체 R 2.11 (Debian 6.0) 및 R 2.14.2
MPI를 눈과 함께 사용하려고합니다. 내가 실행하려고하는 코드는 다음과 같습니다
library(snow)
library(Rmpi)
cl <- makeMPIcluster(mpi.universe.size()-1)
stopCluster(cl)
mpi.quit()
R 2.11에서는 문제없이 작동합니다. (로 스크립트를 시작합니다 mpirun -H localhost,n1,n2,n3,n4 -n 1 R --slave -f code.R
). 이제 R 2.14.2로 시도하면 다음 메시지가 나타납니다.
Error: This is R 2.11.1, package 'snow' needs >= 2.12.1
In addition: Warning message:
따라서 R은 R 2.11 용으로 컴파일 된 패키지 스노우 버전을로드하는 것 같습니다. R 2.14의 snow를 홈 폴더에 설치하고 코드에 다음 줄을 추가했습니다.
.libPaths("/soft/R/lib/R/library")
.libPaths("~/R/x86_64-pc-linux-gnu-library/2.11")
print(.libPaths())
print(sessionInfo())
print(version)
그리고 오류 이전의 출력은 실제로 R 2.14.2를 실행 중이며 내 R 패키지 폴더가 검색 경로에서 첫 번째임을 확인합니다. 그러나 여전히 오류가 발생합니다.
그래서 내 질문은 R에로드 된 패키지 버전을 어떻게 결정합니까? installed.packages
설치된 모든 패키지를 볼 수 있으므로로드 된 패키지에 대한 유사한 정보를 나열하는 기능이 있습니까?
sessionInfo()
이를 달성 하기 위해 사용할 수 있습니다 .
> sessionInfo()
R version 2.15.0 (2012-03-30)
Platform: x86_64-pc-linux-gnu (64-bit)
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 LC_PAPER=C LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] graphics grDevices utils datasets stats grid methods base
other attached packages:
[1] ggplot2_0.9.0 reshape2_1.2.1 plyr_1.7.1
loaded via a namespace (and not attached):
[1] colorspace_1.1-1 dichromat_1.2-4 digest_0.5.2 MASS_7.3-18 memoise_0.1 munsell_0.3
[7] proto_0.3-9.2 RColorBrewer_1.0-5 scales_0.2.0 stringr_0.6
>
그러나 의견과 아래 답변에 따라 더 나은 옵션이 있습니다.
> packageVersion("snow")
[1] '0.3.9'
또는:
"Rmpi" %in% loadedNamespaces()
packageVersion
어떤 버전의 패키지가로드되었는지 확인할 수 있습니다
> packageVersion("snow")
[1] ‘0.3.9’
실행중인 R 버전을 확인하고 싶은 것처럼 들리지만 @Justin의 sessionInfo
제안은 갈 길입니다.
R의 버전을 확인하려면 다음을 실행하십시오. R --version
또는 R 쉘에 들어간 후 내용을 인쇄하십시오. version$version.string
편집하다
설치된 패키지의 버전을 확인하려면 다음을 수행하십시오.
라이브러리를로드 한 후 실행할 수 있습니다 sessionInfo ()
그러나 설치된 모든 패키지 목록을 알고 싶다면
packinfo <- installed.packages(fields = c("Package", "Version"))
packinfo[,c("Package", "Version")]
또는 특정 라이브러리 버전을 추출하려면 installed.package
위와 같은 함수를 사용하여 정보를 추출한 후 매트릭스의 첫 번째 차원에서 패키지 이름을 사용하십시오.
packinfo["RANN",c("Package", "Version")]
packinfo["graphics",c("Package", "Version")]
위는 RANN 라이브러리 및 그래픽 라이브러리의 버전을 인쇄합니다.
다음과 같이 시도해보십시오.
package_version(R.version)
getRversion()
엄밀히 말하면 현재 모든 답변이 잘못되었습니다. packageVersion
로드 된 패키지의 버전을 반환하지 않습니다. 디스크로 가서 거기에서 패키지 버전을 가져옵니다.
이것은 대부분의 경우에 차이를 만들지 않지만 때로는 그렇지 않습니다. 내가 알 수있는 한, 로드 된 패키지 의 버전을 얻는 유일한 방법 은 다소 해킹입니다.
asNamespace(pkg)$`.__NAMESPACE__.`$spec[["version"]]
pkg
패키지 이름은 어디에 있습니까 ?
편집 :이 기능이 추가 된시기는 확실하지 않지만 사용할 수도 있습니다 getNamespaceVersion
.
getNamespaceVersion(pkg)
GUI 솔루션 :
RStudio를 사용하는 경우 Packages
분할 창 에서 패키지 버전을 확인할 수 있습니다 .
R 방법 packageDescription
을 사용하여 설치된 패키지 설명을 얻고 버전 $Version
은 다음과 같이 사용하십시오 .
packageDescription("AppliedPredictiveModeling")$Version
[1] "1.1-6"
이전 답변을 바탕으로 R- 버전을 인쇄하는 간단한 대체 방법이 있으며 네임 스페이스에로드 된 각 패키지의 이름과 버전이 있습니다. 내가 문제가 실행했던 Jupyter 노트북에서 작동 sessionInfo()
하고 R --version
.
print(paste("R", getRversion()))
print("-------------")
for (package_name in sort(loadedNamespaces())) {
print(paste(package_name, packageVersion(package_name)))
}
밖:
[1] "R 3.2.2"
[1] "-------------"
[1] "AnnotationDbi 1.32.2"
[1] "Biobase 2.30.0"
[1] "BiocGenerics 0.16.1"
[1] "BiocParallel 1.4.3"
[1] "DBI 0.3.1"
[1] "DESeq2 1.10.0"
[1] "Formula 1.2.1"
[1] "GenomeInfoDb 1.6.1"
[1] "GenomicRanges 1.22.3"
[1] "Hmisc 3.17.0"
[1] "IRanges 2.4.6"
[1] "IRdisplay 0.3"
[1] "IRkernel 0.5"
시스템에 설치된 R 패키지 버전을 얻으려면 다음 코드를 사용하십시오.
installed.packages(fields = c ("Package", "Version"))
help(package="my_package")
표시된 버전을 사용 하고 확인하십시오.
이것은 동일한 다른 패키지 버전이 없다고 가정합니다 .libPaths
.
Search ()는 세션에서 첨부 된 패키지의보다 간단한 목록을 제공 할 수 있습니다 (예 : sessionInfo ()에 의해 제공된 자세한 정보가 없음)
search {base}-R 문서
설명 : 첨부 된 패키지 목록을 제공합니다. 검색()
search()
#[1] ".GlobalEnv" "package:Rfacebook" "package:httpuv"
#"package:rjson"
#[5] "package:httr" "package:bindrcpp" "package:forcats" #
#"package:stringr"
#[9] "package:dplyr" "package:purrr" "package:readr"
#"package:tidyr"
#[13] "package:tibble" "package:ggplot2" "package:tidyverse"
#"tools:rstudio"
#[17] "package:stats" "package:graphics" "package:grDevices"
#"package:utils"
#[21] "package:datasets" "package:methods" "Autoloads"
#"package:base"
오래된 질문이지만 대답은 아니지만로드 된 모든 패키지에 대한 빠르고 짧은 개요를 얻는 가장 좋아하는 명령입니다.
(.packages())
로드 된 모든 패키지에 어떤 버전이 설치되어 있는지 보려면 위의 명령을 사용하여 하위 집합을 만드십시오 installed.packages()
.
installed.packages()[(.packages()),3]
열 번호 (패키지 버전의 경우 3)를 변경하면 installed.packages()
읽기 쉬운 매트릭스에 저장된 다른 정보를 얻을 수 있습니다 . 아래는 버전 번호 및 종속성에 대한 예입니다.
installed.packages()[(.packages()),c(3,5)]
참고 URL : https://stackoverflow.com/questions/11103189/how-to-find-out-which-package-version-is-loaded-in-r
'Programing' 카테고리의 다른 글
내용으로 div의 높이를 확장하십시오. (0) | 2020.02.29 |
---|---|
'모듈 가져 오기'또는 '모듈 가져 오기에서'를 사용 하시겠습니까? (0) | 2020.02.29 |
파일 변환 : Android에서 Uri를 파일로 (0) | 2020.02.29 |
LINQ를 사용하여 목록을 하위 목록으로 분할 (0) | 2020.02.29 |
특정 개정 / 변경 세트로 git 저장소를 복제하는 방법은 무엇입니까? (0) | 2020.02.29 |