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に相当するものを設定できないため、今のところ、日本語の文字化けについては対処の方法が分かっておりません。

関連する記事

  • Ubuntu16.04でElectronの配布アプリケーションを作成する方法Ubuntu16.04でElectronの配布アプリケーションを作成する方法 Ubuntu16.04を用いて開発したElectronアプリケーションを配布に適したファイル群で出力する方法をお伝えします。 ここでは、サンプルアプリケーションとして、electron-quick-startを利用させていただき、配布のための環境構築からWindows用アプリケーションとして実行しているところまでをご紹介します。 環境 今回の作業環境を確認し […]
  • R言語 CRAN Task View:薬物動態データの解析R言語 CRAN Task View:薬物動態データの解析 CRAN Task View: Analysis of Pharmacokinetic Dataの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Bill Denney Contact: wdenney at […]
  • 平均的に分類する方法の考察(1)平均的に分類する方法の考察(1) ある定量データが与えられたとき、それを平均的に分類するための方法を考えてみる。 ここで言う平均的に分類するというのは、分類された各グループのデータ数がほぼ等しく、かつ、分類された各グループの平均値が定量データ全体の平均値にほぼ等しくなるように分類するということである。 具体的には、学生のクラス替えを行う際に、100人の学生を3つのクラスに振り分けたいが、その場合、各ク […]
  • R言語 CRAN Task View:時系列解析R言語 CRAN Task View:時系列解析 CRAN Task View: Time Series Analysisの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Rob J Hyndman Contact: Rob.Hyndman at […]
  • R言語 CRAN Task View:ケモメトリックスと計算物理学R言語 CRAN Task View:ケモメトリックスと計算物理学 CRAN Task View: Chemometrics and Computational Physicsの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Katharine Mullen Contact: katharine.mullen at […]
R オブジェクトを保存・読み込みする方法