第7章 入出力と保存 ・ ノック 95 / 100 ・ [[000 - はじめに(使い方と目次)|目次]]<br>
← 前 [[094 - readr で速く読み込む]] ・ 次 → [[096 - グラフを画像ファイルに保存する]]
> [!info] write.csv でデータをファイルに残す
> R 上で作ったデータフレームは、R を閉じると消えてしまいます。次回も使えるようにするには、ファイルとしてディスクに書き出す必要があります。`write.csv(df, "ファイル名.csv")` が最も基本的な方法です。
>
> 書き出したファイルはワーキングディレクトリに保存されます。`getwd()` で場所を確認しておくと、あとでファイルを探す手間が省けます。また `row.names = FALSE` を付けないと行番号(1, 2, 3 …)が余分な列として書き出されるため、ほぼ毎回付けると覚えてください。
## 問題
身長・体重のデータフレームを `out.csv` という名前で書き出してください。書き出し後に `readLines()` でファイルの中身をそのまま表示して、正しく保存されたか確認しましょう。
> [!tip] ヒント
> `write.csv(df, "out.csv", row.names = FALSE)` のあとに `readLines("out.csv")` を呼ぶと、テキストとしてそのまま確認できます。
> [!success]- 回答を見る
> ```r
> setwd("/tmp")
> df <- data.frame(
> name = c("Alice", "Bob", "Carol"),
> height = c(158, 172, 165),
> weight = c(52, 68, 58)
> )
> write.csv(df, "out.csv", row.names = FALSE)
> readLines("out.csv")
> ```
> ```
> [1] "\"name\",\"height\",\"weight\"" "\"Alice\",158,52"
> [3] "\"Bob\",172,68" "\"Carol\",165,58"
> ```
> 文字列の列はダブルクォートで囲まれて保存されているのがわかります。これは CSV の標準的な書式です。