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

関連する記事

  • DockerでMariaDB10.5を使う方法DockerでMariaDB10.5を使う方法 DockerでMariaDB 10.5を使用できるまでの手順をお伝えします。 ここでは、docker-composeとDocker公式のMariaDB 10.5イメージを用います。 環境 ホストOS ホストOSはUbuntu 20.04を用いております。 $ cat /etc/lsb-release […]
  • RStudioのエディタテーマ一覧RStudioのエディタテーマ一覧 RStudio(ver 1.0.153)のエディタテーマの一覧をご紹介します。 Ambiance Chaos Chrome Clouds Midnight Clouds Cobalt Crimson Editor Dawn Dreamweaver Eclipse Idle Fingers Katzenmilch Kr […]
  • Bioconductor Workflowパッケージ一覧Bioconductor Workflowパッケージ一覧 BioconductorのWorkflowパッケージの一覧をご紹介します。英語での説明文をgoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。パッケージを探す参考にしていただければ幸いです。 パッケージ確認日:2022/09/01 パッケージ数:29 1. liftOver Changing genomic coordinate […]
  • R実装と解説 対応のない2標本の母平均の差の検定(母分散が等しい) [latexpage] 母分散が等しい場合の対応のない2標本の母平均の差の検定とは、2つの母集団が正規分布に従い、ともに母分散が等しいと仮定できるとき、一方の母平均が他方の母平均と「異なる」または「大きい」、「小さい」かどうかを、検定統計量がt分布に従うことを利用して検定します。 統計的検定の流れ 検定の大まかな流れを確認しておきます。 […]
  • R言語 CRAN Task View:社会科学の統計R言語 CRAN Task View:社会科学の統計 CRAN Task View: Statistics for the Social Sciencesの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: John Fox Contact: jfox at […]
R オブジェクトを保存・読み込みする方法