RStudioなどの統合開発環境(IDE)を使うことが多い昨今ですが、IDEでも対話モードのウィンドウが開いていたりするので、知っておくほうが便利でしょう。
1 履歴
打ち込んだコマンドの履歴を見ることができます。
OSの環境変数R_HISTSIZE
で記憶する行数を設定できます。また、
と言うように正規表現で絞り込みができます。
1.1 履歴の保存
デフォルトでは、終了時に履歴を自動保存し、起動時に読み込みます。Rの起動オプションに--no-save
をつけておくと、終了時に履歴は保存されません。また--no-restore
をつけておくと、起動時に読み込みなせん。
起動オプションに関わらず、savehistory("filename.txt")
で履歴を保存し、loadhistory("filename.txt")
読み込むことができます。savehistory
はテキストファイルで保存されるので、無計画に打ち込んだコマンドを保存して整理するのにも使えます。
2 ヘルプ
関数や制御構文にはだいたい対応するヘルプがあります。
関数の引数や利用例などをすぐ確認できるので便利です。
2.1 ヴィネット
パッケージ添付のリファレンスはvignetteと呼ばれます。vignetteはPDFやHTMLによる長めの説明で、分析の統計学的な背景などから説明されていたりもしますが、必須ではないので無いことが多いです。
よく使われているggplot2
パッケージには複数のvignetteの添付があります。
ブラウザーで一覧を見てから選択する場合は
で、特定のvignetteを直接参照する場合は
とコマンドを打ちます。
3 ソースコードの読み込み
テキストファイルに書いたソースコードを読み込んで実行できます。
UTF-8に統一されつつある昨今ですが、引数fileEncoding
で文字コードを指定して読み込むこともできます。
echo=TRUE
をつけると、実行前にコードを表示し、画面出力の抑制をしません。
引数chdir
で実行するディレクトリを指定できます。また、local=TRUE
をつけると、環境を分離してワークスペースにオブジェクトを追加しないようにできます。
4 テキストエディタの呼び出し
対話モードでテキストエディタを呼び出すことができます。環境変数EDITOR
や引数で指定しない場合、エディタはOSの標準エディタが呼ばれます。
5 応答による画面表示のファイル書き出し
sink
関数で操作からの応答をファイルに書き出すことができます。
# 記録開始
sink(file = "example.txt", append = FALSE) # append = TRUEにすると追記
# 回帰分析と推定結果の表示
x <- 1:10
y <- x + rnorm(10)
summary(lm(y ~ x))
# 記録終了
sink()
これでsummary
の表示がexample.txt
に保存されます。
6 オブジェクトの保存と読み込み
Rのあらゆる変数は同様に保存と読み込みができます。つまり、ベクトル、行列、配列、リスト、データフレーム、環境、関数、モデル式といったオブジェクトは、saveRDS
で保存して、readRDS
で読み込むことができます。
fnc1 <- function(a, b) (a + 1)*(b - 1) # 関数を定義
saveRDS(fnc1, "fnc.RDS") # 関数を保存
rm(fnc1) # 関数を消す
fnc2 <- readRDS("fnc.RDS") # 関数を読み込む
fnc2(2, 3) # 関数を使う
[1] 6
他のプログラミング言語でも似たようなことはできるのですが、パッケージなしで同じぐらい広範なオブジェクトを同じぐらい容易にできるものはちょっと思い当たりません。
7 ワークスペースの保存と読み込み
現在のワークスペースのすべてのオブジェクトを保存したい場合はsave.image
を用いることができます。読み込むときはload
を使います。
n <- 100
x <- 1:n
z <- runif(n, min = 1, max = 100)
y <- 1 + x - z + rnorm(n, sd = 10)
save.image(file = "example.RData")
ls() # 作成したオブジェクトを確認
[1] "n" "x" "y" "z"
character(0)
ls()
をすると、消したオブジェクトn
,x
,z
,y
が復活しているのが分かります。
なお、quit(save = "yes")
とすると、自動でsave.image
が呼び出されます。