はじめに:Rで作業したデータ、どこに消えた?
Rをターミナルで開いて分析練習をしていると、こんな疑問が浮かびませんか?
特に、プログラミングをやったことがない人にとっては
「またやり直しかよ」
とやる気のなくなってしまう出来事だと思います。
- 「今まで作った変数やデータ、どこに保存されてるの?」
- 「Rを終了したら全部消えちゃうの?」
- 「コマンド履歴って残ってる?」
この記事では、こんなRの作業環境の基礎の詰まりがちなところから、作業ディレクトリの設定、自動化まで、実践的に解説します!
1. Rのデータはどこに保存される?
自動保存される2つのファイル
Rは作業内容を以下のファイルに自動保存します:
まだ、これがなんなのかはわからなくて問題ないです。
| ファイル名 | 保存内容 | 保存タイミング |
|---|---|---|
.RData | 変数、データフレームなどのワークスペース | 終了時に「Save workspace?」でyesを選択した場合 |
.Rhistory | 実行したコマンドの履歴 | 自動的に記録 |
重要なポイント
明示的に保存しない限り、データはメモリ上のみに存在します。
メモリのみに保存されたデータは、PCの電源を消したり、タブを閉じたりしてしまうとデータごと消えてしまいます。
また、Rを終了しても、メモリにしか保存していないデータは消えてしまいます。
ここから、データが消えないように、かつ、インストールしたライブラリやデータを保存する方法を紹介します。
2. 作業ディレクトリを設定しよう
作業ディレクトリとは?
Rが現在作業している場所(フォルダ)のことです。
プログラミングの世界でもしばしば、現在開いているフォルダー(編集しているファイルがあるフォルダー)のことを作業ディレクトリと言います。
.RDataや.Rhistoryはこの場所に保存されます。
確認と設定の基本コマンド
# 現在の作業ディレクトリのパスを確認
getwd()
# 作業ディレクトリを変更
setwd("/Users/あなたの名前/Mywork/統計")
# 変更できたか確認
getwd()
# このディレクトリにあるファイルを確認
list.files()
パスといったプログラミング言語で頻出する概念に馴染みのない人は こちら からターミナルの基本にざっと目を通してみると理解が深まると思います。
よくあるエラーと解決法
❌ エラー例
setwd("/User/frural/Mywork/統計")
# エラー: 作業ディレクトリを変更できません
✅ 解決法
- パスのスペルミスに注意!
/User/→/Users/(複数形)- macOSでは
/Users/ユーザー名/が正しい
- ディレクトリが存在しない場合
# ディレクトリが存在するか確認
dir.exists("/Users/frural/Mywork/統計")
# 存在しない場合は作成
dir.create("/Users/frural/Mywork/統計", recursive = TRUE)
3. 起動時に自動設定する方法
毎回setwd()を入力するのは面倒ですよね。
.Rprofile を使えば、R起動時に自動設定できます!
.Rprofileファイルの作成手順
ステップ1: ファイルを作成
ターミナルで以下を実行:
ここからはターミナル上でテキストを編集する方法になってかなりややこしく、上級者しか使わないので今はコピペで問題ないです。
# テキストエディタで.Rprofileを作成
nano ~/.Rprofile
ステップ2: 以下の内容を記述
# R起動時の自動設定
setwd("/Users/あなたの名前/Mywork/統計")
# 起動メッセージ(オプション)
cat("作業ディレクトリ:", getwd(), "\\n")
ステップ3: 保存して終了
Ctrl + Oで保存Enterで確定Ctrl + Xで終了
動作確認
# Rを再起動
R
起動時に以下のようなメッセージが表示されればOK!
作業ディレクトリ: /Users/あなたの名前/Mywork/統計
4. 既存の履歴を移動させる
既に別の場所で作業していた場合、履歴ファイルを移動できます。
# 現在の.Rhistoryを新しい作業ディレクトリに移動
mv ~/.Rhistory ~/Mywork/統計/.Rhistory
# 確認
ls -la ~/Mywork/統計/
これで過去のコマンド履歴も引き継げます!
5. Rの終了と保存のベストプラクティス
終了コマンド
# 基本の終了コマンド
q()
# または
quit()
終了時の選択肢
Save workspace image? [y/n/c]:
- y (yes): ワークスペースを保存して終了(推奨)
- n (no): 保存せずに終了
- c (cancel): 終了をキャンセル
確認なしで終了する方法
# 保存して終了
q(save = "yes")
# 保存せずに終了
q(save = "no")
手動保存のススメ
# 作業中にこまめに保存
save.image()
# ファイル名を指定して保存
save.image("backup_20260212.RData")
# 特定のオブジェクトだけ保存
save(my_data, my_model, file = "analysis.RData")
6. 便利な管理コマンド集
# ワークスペース内のオブジェクト一覧
ls()
# 特定のオブジェクトを削除
rm(オブジェクト名)
# すべてのオブジェクトを削除(注意!)
rm(list = ls())
# コマンド履歴を表示
history()
# 最近の履歴だけ表示
history(max.show = 20)
まとめ:理想的な作業フロー
- 初回設定
- 作業用ディレクトリを作成
.Rprofileで自動設定
- 日常の作業
- Rを起動(自動的に作業ディレクトリに移動)
- 分析作業を実施
- こまめに
save.image()で保存
- 終了時
q()で終了- ワークスペースを保存(yes)
- 次回起動時
- 履歴とデータが自動的に読み込まれる
トラブルシューティング
Q: .Rprofileが反映されない
A: Rを完全に終了して再起動してください。
Q: 作業ディレクトリが変更できない
A: パスのスペルミスがないか確認。特に/User/と/Users/を間違えやすい。
Q: .Rhistoryが空っぽ
A: コマンドを何も実行していない可能性があります。数個コマンドを実行してから終了してみてください。
さいごに
作業環境を整えることで、分析に集中できるようになります。
最初の設定は少し手間ですが、一度設定すれば快適なR生活が待っています!
Happy R Coding! 📊✨