HOWTO · R
R Studio で R を再起動します。
この記事では、最初に R を再起動する必要性について説明し、次に R Studio を使用して R を再起動する別の方法について説明します。
このページの内容
RStudio で R セッションを再起動するには、Session > Restart R を選択するか、Ctrl + Shift + F10 を押します(Mac では Ctrl の代わりに Command を使います)。再起動すると現在のセッションのオブジェクトが消去され、R が再び起動します。ただし、オペレーティングシステムが直ちにメモリを他のアプリケーションへ返すとは限りません。
RStudio で R セッションを再起動する理由
RStudio はセッション内で R コードを実行します。同じセッションで複数のスクリプトを使うと、それらは Global Environment のオブジェクトを共有できます。たとえば、あるオブジェクト名に新しい値を代入すると、別のスクリプトにあるコードでも、その名前を使う後続の処理からは新しい値が参照されます。
再起動すると新しい R プロセスが開始され、そのセッションに保持されていたオブジェクトが取り除かれます。再起動後は、以前のセッションで読み込まれていたパッケージもアタッチされていないため、分析に必要なパッケージを読み込み、オブジェクトを作成し直してください。再起動は、スクリプトが初期状態から動作するか確認するのにも役立ちます。メモリの解放は R とオペレーティングシステムの動作によって異なるため、再起動すれば特定量のメモリが利用可能になると考えないでください。
RStudio のインターフェースから R を再起動する
すばやく再起動するには、RStudio のインターフェースを使います。
- Session > Restart R を選択します。
- または Ctrl + Shift + F10 を押します。Mac では Command + Shift + F10 を押します。
ショートカットがプラットフォームや RStudio のバージョンによって異なる場合は、メニューから操作できます。再起動する前に、必要な作業を保存してください。R が再び起動したら、パッケージの読み込みやデータの読み込みなど、必要なセットアップコードをもう一度実行します。
R をプログラムから再起動する:対応済みの方法と未文書化の方法
実行中の RStudio セッションからコードで再起動を要求する場合は、rstudioapi パッケージの rstudioapi::restartSession() を使います。このパッケージが R セッションから利用でき、呼び出しが RStudio 内で実行される必要があります。この関数は IDE に再起動を要求するもので、RStudio の外で起動した R プロセスを再起動する汎用的な方法ではありません。呼び出すと、現在の RStudio セッションに再起動が要求されます。
rstudioapi::restartSession()
内部コマンドの .rs.restartR() は未文書化で、RStudio の内部実装に依存しています。サポート対象の公開インターフェースではなく、動作が変わる可能性があるため、スクリプトやワークフローでの使用は避けてください。文書化されたメニュー操作や rstudioapi API の代替として推奨される方法ではありません。
R の quit() 関数(たとえば quit(save = "no", status = 0))を呼び出すと、R プロセスは終了します。それ自体で新しいプロセスが起動するわけではないため、再起動の方法ではありません。
別々のセッションに RStudio プロジェクトを使う
RStudio プロジェクトでは、関連するファイルやプロジェクト設定をまとめて管理でき、作業ディレクトリもプロジェクトに含まれます。プロジェクトを使うと分析作業を整理しやすくなります。また、設定に応じて、RStudio はワークスペースの状態をプロジェクトに関連付けることができます。ただし、プロジェクトを作成しただけで複数の R プロセスが同時に実行されるとは限りません。同時に複数のセッションが必要な場合は、別の RStudio ウィンドウまたは別のプロセスを使ってください。
参考資料
- 『R for Data Science』第8章では、R のワークフローにおけるプロジェクトの使い方を説明しています。
- 『R for Health Data Science』第1.6節では、R を定期的に再起動することと、RStudio の起動オプションについて説明しています。