Rでオブジェクトをファイルに保存または読み込みする方法を記載します。

長時間の計算による解析結果をファイルに保存しておくことは、解析手続きの分割が行えるため、とても役に立ちます。
解析手続きの分割について、解析Aの結果を解析Bで用いる場合という例でご説明します。
同じスクリプトで解析Aと解析Bを記載すると、解析Bを変更した際に再度解析Aを実行しないといけません。解析Aの処理時間が短い場合は問題ありませんが、長い処理時間がかかる場合は効率が悪くなります。そのため、ある程度重い処理を実行するときは、解析手続きの分割を考えた方が良いと考えます。

保存

保存はsaveRDS関数を用います。


> # 計算結果をobjに格納
> obj <- lm(Sepal.Length ~ Sepal.Width, data = iris) > # objの表示
> obj

Call:
lm(formula = Sepal.Length ~ Sepal.Width, data = iris)

Coefficients:
(Intercept)  Sepal.Width  
     6.5262      -0.2234

> # "lm.obj"として保存
> saveRDS(obj, file = "lm.obj")

読み込み

読み込みにはreadRDS関数を用います。


> # "lm.obj"の読み込み
> obj2 <- readRDS("lm.obj") > # obj2の表示
> obj2

Call:
lm(formula = Sepal.Length ~ Sepal.Width, data = iris)

Coefficients:
(Intercept)  Sepal.Width  
     6.5262      -0.2234

saveRDS関数で作成したファイルを別OSで読み込み

Ubuntu上のRStudioでsaveRDS関数で作成したファイルをWindows上のRStudioで読み込みができるかを試してみました。
Ubuntu上のRStudioの環境設定とWindows上のRStudioの環境設定は、デフォルトのままです。
結果としては、英数字は可能だが、日本語は文字化けをしてしまいました。
UbuntuのRStudioのロケールはja_JP.UTF-8を用いておりますが、WindowsのRStudioのロケールはJapanese_Japan.932であることが原因のような気がします。
ロケールはRStudioのコマンドラインでSys.getlocale関数を実行すれば取得でき、Sys.setlocale関数を実行すれば設定できます。
WindowsのRStudioでja_JP.UTF-8に相当するものを設定できないため、今のところ、日本語の文字化けについては対処の方法が分かっておりません。

関連する記事

  • Ubuntu TensorFlowのGPU版をpipでインスールする手順Ubuntu TensorFlowのGPU版をpipでインスールする手順 Ubuntu上で、TensorFlowのGPU版をpipでインストールする手順をお伝えする。 TensorFlowのバージョン0.6.0からPython3が使えるようになったので、Python3を用いることにする。 ここに記載されていることの大部分は、TensorFlowのDownload and […]
  • Ubuntu Server 20.04にOpalをインストールする方法Ubuntu Server 20.04にOpalをインストールする方法 Ubuntu Server […]
  • UCI 機械学習リポジトリのデータセット一覧UCI 機械学習リポジトリのデータセット一覧 UCI machine learning repositoryで公開されているデータセットの一覧をご紹介します。英語での要約(abstract)をgoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。データセットのサンプルを探す参考にしていただければ幸いです。 掲載内容は2022年05月01日の情報で、データセット数は606です。 2.4 […]
  • 地図で見る石川県金沢市の人口 2014年1月地図で見る石川県金沢市の人口 2014年1月 金沢市役所が公開している平成26年1月の住民基本台帳人口と総務省統計局が公開している地図データを基に人口、人口密度、世帯数、未成年・高齢者の年齢別などの数値および前年同月からの増減率を地図上に色分けして視覚化したものと上位・下位のランキングをご紹介する。 人口、世帯数などのデータを活用しようと考えた場合、まずは国勢調査を思いつくが、国勢調査は5年ごとに行われており、最近 […]
  • R ggplotでファセットラベルテキストの体裁を変更する方法 ggplotのfacet_gridやfacet_wrapを用いた場合、垂直方向のラベルテキストが縦書きとなり直感的でないときがあります。 この場合は、ラベルテキストのアングルを横書きに変更することで、より見やすいグラフとなります。 デフォルト 特に何も指定しない場合は、次のようなグラフとなります。 library(ggplot2) data("diamond […]
R オブジェクトを保存・読み込みする方法