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

{pacman}の活用

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

主な使い方はこちら((pacman でパッケージのインストール・ロードを簡単にする. Published December 15, 2018. Accessed February 21, 2021. https://blog.atusy.net/2018/12/15/pacman/))とこちら((“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() を行います。

コードはこちら((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上で構築することをおすすめします。こちらの記事もご参照ください。

Docker環境 Rstudio で文字化け回避、Host/Container間のファイルシステムの共有に関する覚書

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

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

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

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

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


上部へスクロール