niszetの日記

アナログCMOS系雑用エンジニアが頑張る備忘録系日記

(R) sessioninfoパッケージ (メモ) (2019/Jul/17 更新)

CRANには1.1.1が最新として登録されています。

昔のRの記事が当時の情報のまま残っているので、手が付けられるものは加筆訂正していく流れです。

さて、sessioninfoパッケージは本記事執筆当時はCRANに登録されていませんでしたが、その後登録され(更新はされていませんが)現在もCRANからインストール可能です。

install.packages("sessioninfo")

また、下記のUsageで十分使い方はわかるかなと思います。使い方としては記事作成当時と変わっていません。ただし、表示される文字列が多少変化しています。

www.r-pkg.org

私の今の環境で出力するとこんな感じです。

> library(sessioninfo)

> os_name()
[1] "Windows 10 x64"

> platform_info()
 setting  value                       
 version  R version 4.0.2 (2020-06-22)
 os       Windows 10 x64              
 system   x86_64, mingw32             
 ui       RStudio                     
 language (EN)                        
 collate  Japanese_Japan.932          
 ctype    Japanese_Japan.932          
 tz       Asia/Tokyo                  
 date     2020-07-17    

> package_info()
 package     * version date       lib source        
 assertthat    0.2.1   2019-03-21 [1] CRAN (R 4.0.0)
 cli           2.0.2   2020-02-28 [1] CRAN (R 4.0.0)
 crayon        1.3.4   2017-09-16 [1] CRAN (R 4.0.0)
 fansi         0.4.1   2020-01-08 [1] CRAN (R 4.0.0)
 generics      0.0.2   2018-11-29 [1] CRAN (R 4.0.0)
 glue          1.4.1   2020-05-13 [1] CRAN (R 4.0.0)
 packrat       0.5.0   2018-11-14 [1] CRAN (R 4.0.2)
 rstudioapi    0.11    2020-02-07 [1] CRAN (R 4.0.0)
 sessioninfo * 1.1.1   2018-11-05 [1] CRAN (R 4.0.0)
 withr         2.2.0   2020-04-20 [1] CRAN (R 4.0.0)
 yaml          2.2.1   2020-02-01 [1] CRAN (R 4.0.0)

[1] C:/Users/niszet/Documents/R/win-library/4.0
[2] C:/Program Files/R/R-4.0.2/library

> session_info()
- Session info --------------------------------------------------
 setting  value                       
 version  R version 4.0.2 (2020-06-22)
 os       Windows 10 x64              
 system   x86_64, mingw32             
 ui       RStudio                     
 language (EN)                        
 collate  Japanese_Japan.932          
 ctype    Japanese_Japan.932          
 tz       Asia/Tokyo                  
 date     2020-07-17                  

- Packages ------------------------------------------------------
 package     * version date       lib source        
 assertthat    0.2.1   2019-03-21 [1] CRAN (R 4.0.0)
 cli           2.0.2   2020-02-28 [1] CRAN (R 4.0.0)
 crayon        1.3.4   2017-09-16 [1] CRAN (R 4.0.0)
 fansi         0.4.1   2020-01-08 [1] CRAN (R 4.0.0)
 generics      0.0.2   2018-11-29 [1] CRAN (R 4.0.0)
 glue          1.4.1   2020-05-13 [1] CRAN (R 4.0.0)
 packrat       0.5.0   2018-11-14 [1] CRAN (R 4.0.2)
 rstudioapi    0.11    2020-02-07 [1] CRAN (R 4.0.0)
 sessioninfo * 1.1.1   2018-11-05 [1] CRAN (R 4.0.0)
 withr         2.2.0   2020-04-20 [1] CRAN (R 4.0.0)
 yaml          2.2.1   2020-02-01 [1] CRAN (R 4.0.0)

[1] C:/Users/niszet/Documents/R/win-library/4.0
[2] C:/Program Files/R/R-4.0.2/library

再現可能性を高めるために、当時のバージョン情報を残すという点では、通常はsession_info()で出力すれば十分でしょう。ただし、Rの外にある環境、たとえばPythonのコードを使っているとか、Pandocの特定のバージョンを使っているだとか、は、別途意識して残さないといけませんが…。RMarkdownでレポートを作成する際に、これらの情報を入れられると良いと思います。


以下は記事作成当時の古い情報を含んでいます。記録のため残しておきます。

最近は更新されていないし、CRANにもいませんが…

r-lib漁ってて見つけたので。

github.com

通常のsessioninfo()関数。

sessionInfo()
#> R version 3.4.3 (2017-11-30)
#> Platform: x86_64-w64-mingw32/x64 (64-bit)
#> Running under: Windows >= 8 x64 (build 9200)
#> 
#> Matrix products: default
#> 
#> locale:
#> [1] LC_COLLATE=Japanese_Japan.932  LC_CTYPE=Japanese_Japan.932   
#> [3] LC_MONETARY=Japanese_Japan.932 LC_NUMERIC=C                  
#> [5] LC_TIME=Japanese_Japan.932    
#> 
#> attached base packages:
#> [1] stats     graphics  grDevices utils     datasets  methods   base     
#> 
#> loaded via a namespace (and not attached):
#> [1] compiler_3.4.3 tools_3.4.3    yaml_2.1.16   

sessioninfoパッケージの方は、いくつかの関数に分かれています。

sessioninfo::os_name()
#> [1] "Windows >= 8 x64"
sessioninfo::platform_info()
#>  setting  value                       
#>  version  R version 3.4.3 (2017-11-30)
#>  os       Windows >= 8 x64            
#>  system   x86_64, mingw32             
#>  ui       RStudio                     
#>  language (EN)                        
#>  collate  Japanese_Japan.932          
#>  tz       Asia/Tokyo                  
#>  date     2018-03-05             
sessioninfo::package_info()
#>  package     * version    date       source                            
#>  clisymbols    1.2.0      2017-05-21 CRAN (R 3.4.2)                    
#>  sessioninfo   1.0.1.9000 2018-03-03 Github (r-lib/sessioninfo@c871d01)
#>  withr         2.1.1      2017-12-19 CRAN (R 3.4.3)                    
#>  yaml          2.1.16     2017-12-12 CRAN (R 3.4.3)                    
sessioninfo::session_info()
#> ─ Session info ────────────────────────────────────────────────────────────────
#>  setting  value                       
#>  version  R version 3.4.3 (2017-11-30)
#>  os       Windows >= 8 x64            
#>  system   x86_64, mingw32             
#>  ui       RStudio                     
#>  language (EN)                        
#>  collate  Japanese_Japan.932          
#>  tz       Asia/Tokyo                  
#>  date     2018-03-05                  
#> 
#> ─ Packages ────────────────────────────────────────────────────────────────────
#>  package     * version    date       source                            
#>  clisymbols    1.2.0      2017-05-21 CRAN (R 3.4.2)                    
#>  sessioninfo   1.0.1.9000 2018-03-03 Github (r-lib/sessioninfo@c871d01)
#>  withr         2.1.1      2017-12-19 CRAN (R 3.4.3)                    
#>  yaml          2.1.16     2017-12-12 CRAN (R 3.4.3)                    

それぞれの表示はこんな感じ。

何がうれしいのか

ちょっとだけ表示は見やすくなっていますね。ただ、返ってくる値はlistになっているので扱いやすくなったかは、どうだろう…?

いずれにしてもまだCRANには置いてなく、開発もそれほど活発にはされていないので重要度は低いのかなぁという感じ。どうなんでしょう??

今回はここまで。

Enjoy!!