第7章 入出力と保存 ・ ノック 98 / 100 ・ [[000 - はじめに(使い方と目次)|目次]]<br> ← 前 [[097 - ggplot の図を保存する]] ・ 次 → [[099 - ネット上のデータを読み込む]] > [!info] RDS 形式:R オブジェクトをそのまま保存する > CSV はテキストなので、データフレームの「列の型」(数値なのか文字列なのかなど)が失われることがあります。RDS 形式(`.rds`)は R のオブジェクトをそのままバイナリとして保存するため、型もファクターの順序も完全に再現されます。 > > - `saveRDS(オブジェクト, "ファイル名.rds")` で保存します > - `readRDS("ファイル名.rds")` で読み戻します > > CSV と違い1つのオブジェクト専用の形式なので、R 以外のソフトでは開けません。「次回 R で使うためだけに保存する」ときに便利な方法です。保存先はワーキングディレクトリです。 ## 問題 身長・体重のデータフレームを `df.rds` として保存し、別の変数 `df2` に読み戻してください。読み戻した内容を表示して確認しましょう。 > [!tip] ヒント > `saveRDS(df, "df.rds")` で保存し、`df2 <- readRDS("df.rds")` で読み戻します。 > [!success]- 回答を見る > ```r > setwd("/tmp") > df <- data.frame( > name = c("Alice", "Bob", "Carol"), > height = c(158, 172, 165), > weight = c(52, 68, 58) > ) > saveRDS(df, "df.rds") > df2 <- readRDS("df.rds") > df2 > ``` > ``` > name height weight > 1 Alice 158 52 > 2 Bob 172 68 > 3 Carol 165 58 > ``` > `saveRDS` はメッセージを出さずに静かに保存します。エラーが出なければ成功です。