R에 로드된 패키지 버전을 확인하는 방법은 무엇입니까?
저는 제 대학 클러스터를 사용하는 방법을 찾는 중입니다.2가지 버전의 R이 설치되어 있습니다.비표준 위치에 있는 시스템 전체 R 2.11(데비안 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
R2.14.2로 실행하려고 하면 다음과 같은 메시지가 표시됩니다.
Error: This is R 2.11.1, package 'snow' needs >= 2.12.1
In addition: Warning message:
그래서 R은 R2.11용으로 컴파일된 패키지 Snow 버전을 로드하는 것 같습니다.R2.14에 따른 스노우를 홈 폴더에 설치하고 코드에 다음 행을 추가했습니다.
.libPaths("/soft/R/lib/R/library")
.libPaths("~/R/x86_64-pc-linux-gnu-library/2.11")
print(.libPaths())
print(sessionInfo())
print(version)
오류가 발생하기 전의 출력은 R2.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("snow")
[1] ‘0.3.9’
패키지에 다음이 없는 한 패키지를 '찾을 수' 없습니다.
DESCRIPTION
유효한 파일을 포함하는 파일Version
필드. 패키지 디렉터리를 찾을 수 없는 경우와 적합한 디렉터리가 있지만 유효하지 않은 경우 서로 다른 경고가 제공됩니다.DESCRIPTION
파일.
비록 당신이 어떤 버전의 R을 실행하고 있는지 보고 싶은 것처럼 들리지만, 이 경우 @Justin의 제안이 가야 할 길입니다.
엄밀히 말하면, 이 때의 답은 모두 틀렸습니다. packageVersion
로드된 패키지의 버전을 반환하지 않습니다.디스크로 이동하여 패키지 버전을 가져옵니다.
이것은 대부분의 경우에 차이를 만들지 않지만, 가끔은 차이가 있습니다.로드된 패키지의 버전을 얻을 수 있는 유일한 방법은 다소 진부한 것입니다.
asNamespace(pkg)$`.__NAMESPACE__.`$spec[["version"]]
어디에pkg
패키지 이름입니다.
편집: 이 기능이 언제 추가되었는지는 잘 모르겠지만 사용할 수도 있습니다.getNamespaceVersion
이것이 더 깨끗합니다.
getNamespaceVersion(pkg)
R execute 버전 확인하기R --version
R 에 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()
GUI 솔루션:
에서 패키지 할 수 .Packages
창구
방법을 합니다.packageDescription
에 대한 버전에 는 설된패설가져고버사다용니합전만을 사용하십시오.$Version
다음과 같이:
packageDescription("AppliedPredictiveModeling")$Version
[1] "1.1-6"
이전 답변을 기반으로 R-버전을 인쇄하는 간단한 방법과 네임스페이스에 로드된 각 패키지의 이름 및 버전이 있습니다.주피터 노트북에서 작동합니다. 주피터 노트북을 실행하는 데 문제가 있었습니다.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"
오래된 질문이지만 로드된 모든 패키지에 대한 간략한 개요를 얻을 수 있는 내가 가장 좋아하는 명령은 다음과 같습니다.
(.packages())
로드된 모든 패키지의 어떤 버전이 설치되어 있는지 보려면 위 명령을 사용하여 부분 집합을 지정합니다.installed.packages()
.
installed.packages()[(.packages()),3]
번호버전의 3를하면 열번패호를(패키지 버전의 경우 3)에 저장된 다른 정보를 얻을 수 .installed.packages()
및입니다.다음은 버전 번호 및 종속성의 예입니다.
installed.packages()[(.packages()),c(3,5)]
검색()은 세션에서 첨부된 패키지의 더 단순한 목록을 제공할 수 있습니다(즉, sessionInfo()).
- R {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"
@@GSee의 을 참고하십시오.utils::packageVersion()
가 아닙니다.character
조건을 작성하는 데 완벽하게 사용할 수 있습니다.
packageVersion("dplyr")
#> [1] '1.0.7'
packageVersion("dplyr")>1
#> [1] TRUE
packageVersion("dplyr")>'1.0'
#> [1] TRUE
packageVersion("dplyr")>'1.1'
#> [1] FALSE
2021-08-23 reprex 패키지에 의해 생성됨 (v2.0.0)
다음 코드를 사용하여 시스템에 설치된 R 패키지 버전을 가져옵니다.
installed.packages(fields = c ("Package", "Version"))
간히사를 사용하세요.help(package="my_package")
표시된 버전을 확인합니다.
한 " 이동한패버없전가다다니정합고이키는"에 다른 가정합니다..libPaths
.
언급URL : https://stackoverflow.com/questions/11103189/how-to-find-out-which-package-version-is-loaded-in-r
'source' 카테고리의 다른 글
요인 수준과 요인 레이블 간의 혼동 (0) | 2023.06.15 |
---|---|
0이 아닌 비트를 양의 정수로 빠르게 카운트하는 방법 (0) | 2023.06.15 |
10.4.24-MariaDB - 외부 키 구속조건이 잘못 형성됨 (0) | 2023.06.15 |
SQL을 사용하여 테이블의 열 수를 계산하는 방법은 무엇입니까? (0) | 2023.06.15 |
Vuex: 상수 대신 돌연변이/작용의 함수 이름을 사용할 수 있습니까? (0) | 2023.06.15 |