Rの冒頭記載コードの統一化:{pacman}の活用、環境の初期化とメモリ領域の解放

{pacman}の活用

R のパッケージ管理ツールの一つに{pacman}パッケージ[1]UMIN に wordpress でホームページを立ち上げる(3)MySQL の初期設定. 基礎医学教育研究会ノート. Accessed February 21, 2021. … Continue readingというものがあります。 install.pakeges() や library() を羅列することなく、pacman::p_load() の一行でスマートに記載することができます。

主な使い方はこちら[2]pacman でパッケージのインストール・ロードを簡単にする. Published December 15, 2018. Accessed February 21, 2021. https://blog.atusy.net/2018/12/15/pacman/とこちら[3]“install.packages()”するのはこれが最後!Rのパッケージ管理には「pacman」を使おう. Qiita. Accessed February 21, 2021. https://qiita.com/taiyodayo/items/e69d997754d55e3d7e4cの記事が参考になります。

誰かにスクリプトを共有する際は、{pacman}が入っていない場合もあります。その点を加味して、下記のように記載します。

if (!require("pacman")) install.packages("pacman") pacman::p_load(tidyverse, magrittr, package_n)
Code language: PHP (php)

環境の初期化とメモリ領域の解放

もう一点、新しくスクリプトを実行する際に、前の結果が残っていると、エラーに気づかなかったり、誤計算のもとになります。そのため、環境の初期化 rm(list=ls()) と、ガベージコレクション(不要になっているメモリ領域を解放)gc() を行います。

コードはこちら[4]2020年版 Rによるデータ分析メモ. Qiita. Accessed February 21, 2021. https://qiita.com/gnbrganchan/items/f001007098d873e0b0caを参考にしました。

rm(list=ls()) gc(); gc();
Code language: PHP (php)

ガベージコレクションを2回する理由は、下記に説明がありました。

冒頭コードのまとめ

  1. {pacman} の利用
  2. 環境の初期化とメモリ領域の解放

これらを合わせて、私は各スクリプトの冒頭には下記のように記載をしています。

rm(list=ls()); gc(); gc(); if (!require("pacman")) install.packages("pacman") pacman::p_load(tidyverse, magrittr, package_n)
Code language: PHP (php)

私は 複合代入演算子 %<>% も使うことが多いため、tidyverseとmagrittrは別に読み込むようにしています。また、Rstudioは、PCの環境に依存しないDocker上で構築することをおすすめします。こちらの記事もご参照ください。

References

References
1 UMIN に wordpress でホームページを立ち上げる(3)MySQL の初期設定. 基礎医学教育研究会ノート. Accessed February 21, 2021. https://plaza.umin.ac.jp/kikkenlab/note/umin-wordpress-03/
2 pacman でパッケージのインストール・ロードを簡単にする. Published December 15, 2018. Accessed February 21, 2021. https://blog.atusy.net/2018/12/15/pacman/
3 “install.packages()”するのはこれが最後!Rのパッケージ管理には「pacman」を使おう. Qiita. Accessed February 21, 2021. https://qiita.com/taiyodayo/items/e69d997754d55e3d7e4c
4 2020年版 Rによるデータ分析メモ. Qiita. Accessed February 21, 2021. https://qiita.com/gnbrganchan/items/f001007098d873e0b0ca

「Rの冒頭記載コードの統一化:{pacman}の活用、環境の初期化とメモリ領域の解放」への3件のフィードバック

  1. ピンバック: RstudioをGithubとプロジェクトで管理する - shoei05

  2. ピンバック: よく使うR小技集(随時更新) - shoei05

  3. ピンバック: Docker で Rstudio ver 1.4 をインストールする - shoei05

コメントする

メールアドレスが公開されることはありません。

CAPTCHA