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

関連する記事

  • 度数分布表とヒストグラム度数分布表とヒストグラム 数値データの集合をただ眺めても、そのデータの特徴をつかむのは大変難しい。しかし、そのデータを表にまとめたもの、またはグラフにすると一目瞭然だ。特に、グラフにしたものは、大変分かりやすい。表にまとめたものを度数分布表、グラフにしたものをヒストグラムという。 では、早速具体的に見ていく。 度数分布表 度数分布表とは、以下の表のことを言う。ここで用いたデータは、統計Rに付 […]
  • R言語 CRAN Task View:数値解析R言語 CRAN Task View:数値解析 CRAN Task View: Numerical Mathematicsの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Hans W. Borchers Contact: hwb at […]
  • 平均的に分類する方法の考察(3)平均的に分類する方法の考察(3) 前回は、定量データをスコア順に並び替えたのち、この順番でグループに割り振っていく方法を見た。今回は、定量データをスコア順に並び替えるところは同じだが、割り振り方を変更することにより、より平均的に分類できないかを見ていく。 前回と同じく、100人の学生を3つのクラスA、B、Cに分ける方法を考えてみる。 まず、学生をスコア順にA、B、Cに一人ずつ割り振る。 次に […]
  • MySQL データベース内のカラム数を確認する方法MySQL データベース内のカラム数を確認する方法 MySQLまたはMariaDBのデータベース内のカラム数を確認する方法をお伝えします。 サンプルデータベースを次のように準備します。 # データベース作成 CREATE DATABASE sample_database; # データベース指定 use sample_database; # テーブル作成 CREATE TABLE […]
  • R qgraphを用いてデータをネットワークとして可視化するR qgraphを用いてデータをネットワークとして可視化する qgraphは、ネットワークとしてデータを視覚化するために使用することができ、加重グラフィカルモデルを視覚化するためのインタフェースを提供しているパッケージです。 リファレンスマニュアルには、関数のサンプルコードのみで出力されたグラフがありません。そこで、qgraphのサンプルコードと合わせてグラフを並べてみました。 qgraph library(qgraph) […]
R オブジェクトを保存・読み込みする方法