동일한 릴리스 레벨에서 두 시스템이 동일한 패키지를 갖도록하려면 Chris Eberwein의 기사 How to Upgrade R Without Losing Your Packages에 설명 된 절차를 데이터 과학 동풍에 게시 할 수 있습니다. 저는 Bioconductor가 아닌 단계를 다시 게시하여 사람들이 여기에있는 단계를 볼 수 있도록했습니다.
먼저 현재 설치된 패키지 목록을 .rda
파일에 저장하십시오.
tmp <- installed.packages()
installedpkgs <- as.vector(tmp[is.na(tmp[,"Priority"]), 1])
save(installedpkgs, file="installed_old.rda")
둘째,
셋째 R.
의 최신 버전을 설치 이전 패키지 업데이트를 다시로드합니다.
tmp <- installed.packages()
installedpkgs.new <- as.vector(tmp[is.na(tmp[,"Priority"]), 1])
missing <- setdiff(installedpkgs, installedpkgs.new)
install.packages(missing)
update.packages()
Bioconductor 패키지를 다시 설치하려면 위에 링크 된 URL의 기사를 읽으십시오.
모든 패키지의 동일한 버전이 여러 대의 컴퓨터에 설치되어 있는지 확인하는 한 가지 방법은 sessionInfo()
기능을 사용하고 각 컴퓨터의 출력을 비교하는 것입니다.
> library(tidyverse)
── Attaching packages ────────────────────────────────────────────── tidyverse 1.2.1 ──
✔ ggplot2 2.2.1 ✔ purrr 0.2.4
✔ tibble 1.3.4 ✔ dplyr 0.7.4
✔ tidyr 0.7.2 ✔ stringr 1.2.0
✔ readr 1.1.1 ✔ forcats 0.2.0
── Conflicts ───────────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag() masks stats::lag()
> sessionInfo()
R version 3.4.2 (2017-09-28)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS High Sierra 10.13.1
Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] forcats_0.2.0 stringr_1.2.0 dplyr_0.7.4 purrr_0.2.4 readr_1.1.1
[6] tidyr_0.7.2 tibble_1.3.4 ggplot2_2.2.1 tidyverse_1.2.1
loaded via a namespace (and not attached):
[1] Rcpp_0.12.14 cellranger_1.1.0 compiler_3.4.2
[4] plyr_1.8.4 bindr_0.1 tools_3.4.2
[7] lubridate_1.7.1 jsonlite_1.5 nlme_3.1-131
[10] gtable_0.2.0 lattice_0.20-35 pkgconfig_2.0.1
[13] rlang_0.1.4 psych_1.7.8 cli_1.0.0
[16] rstudioapi_0.7.0-9000 parallel_3.4.2 haven_1.1.0
[19] bindrcpp_0.2 xml2_1.1.1 httr_1.3.1
[22] hms_0.4.0 grid_3.4.2 glue_1.2.0
[25] R6_2.2.2 readxl_1.0.0 foreign_0.8-69
[28] modelr_0.1.1 reshape2_1.4.2 magrittr_1.5
[31] scales_0.5.0 rvest_0.3.2 assertthat_0.2.0
[34] mnormt_1.5-5 colorspace_1.3-2 stringi_1.1.6
[37] lazyeval_0.2.1 munsell_0.4.3 broom_0.4.3
[40] crayon_1.3.4
>
R은 프로그래밍 언어입니다. 공동 작업자가 자신의 PC에서 사용하는 R IDE는 무엇입니까? 둘 다 R을 최신으로 유지하면 코드가 열리고 두 사람 모두에게 잘 돌아갑니다. 그렇지 않으면 당신 중 한 명이 잘못 착각 한 것입니다. – ZeroRequiem
OS X 및 Windows에서 R의 동작에 약간의 차이가 있습니다 (예 : Windows의 경우 download.files()에서'method = "wininet"사용 필요, OS X에서는'method = "curl" 그러나 일반적으로 두 운영 체제에서 같은 릴리스 레벨에 설치된 특정 패키지는 동일한 방식으로 작동하고 동일한 결과를 생성합니다. OS X, Windows 및 Ubuntu Linux에 R 설치가 있고 y는 현재 릴리스 레벨의 패키지가 각 운영 체제에 적용될 때 동일한 결과를 생성합니다. –
가장 좋은 방법은 docker를 사용하여 두 이미지가 동일한 이미지 빌드에서 실행되는 것입니다. 그러나 "라이브러리"대신 "요구"를 사용하도록 제안한 사람은 무시하십시오. 거의 언제나 할 일이 잘못되었습니다 : https://yihui.name/ko/2014/07/library-vs-require/ – Spacedman