R言語

【R言語】使っていない変数の削除の仕方 キャッシュの削除

  1. HOME >
  2. R言語 >

【R言語】使っていない変数の削除の仕方 キャッシュの削除

スポンサーリンク

R言語の使っていない変数の削除の例を紹介します。

Rで大きなデータを使っているとメモリ不足に陥ったり、実行速度が遅くなったりすることがよくあります。

Rでは一度作られた変数は自分で削除するまで、キャッシュとして保存されるため実行を繰り返すごとにメモリがキャッシュで埋め尽くされてしまいます。

「エディターの挙動がかくかくしてるなぁ」と思ったら使っていない変数を一度、消去してみるのがお勧めです。

この記事で扱うRスクリプトは以下からダウンロードできます。

統計学初学者向けの教材です
¥2,970 (2022/06/01 17:41時点 | Amazon調べ)
Rでデータ解析を始めるならコレ
¥3,300 (2022/06/01 17:20時点 | Amazon調べ)

変数の削除

では早速、変数の削除の例をみていきます。

変数を削除するには次の関数removeまたは、rmを用います。

remove(…, list = character(), pos = -1, envir = as.environment(pos), inherits = FALSE)
rm (…, list = character(), pos = -1, envir = as.environment(pos), inherits = FALSE)

任意のオブジェクト(変数)を削除することが可能です。

removermの引数は以下の通りです。

関数remove, rmの引数
...削除するオブジェクトの名前。character型として渡す場合は""をつける。
listcharacter型のベクトル。削除するオブジェクトの名前のベクトル。
posどのディレクトリのオブジェクトを削除するか。デフォルトだとカレントディレクトリ。
envir使用するenvironment。
inheritsenvironmentのフレームを調べるかどうか。

それぞれの関数の最初の引数...以外にも、引数listに削除したい変数名を渡すことで変数の削除を行うことができます。

list=ls()と引数を与えることですべての変数を消去することができ、キャッシュを無くしたいときに便利です。

実行例

オブジェクトを削除する例をいくつか紹介します。

変数nを削除するには、次のように関数removeまたはrmの引数にオブジェクトを渡します。

変数nを宣言すると、次のようにR studioのEnvironmentにnが加わります(筆者はエディターにR studioを用いているので、R studioの画像を載せました)。

関数removeまたはrmnを削除すると、次の画像のようにEnvironmentからnが削除されます。

2つ以上のオブジェクトを削除するときは、削除したいオブジェクト全てを関数の引数に渡すだけです。

2行目と3行目でabを宣言するとEnvironmentにaとbが加わります。

関数removeを実行するとabが次のように無くなります。

最後に、すべてのオブジェクトを削除しキャッシュを整理する方法を紹介します。

次の4つのオブジェクトを例に全キャッシュを削除する例について見ていきます。

ここでは4つしか変数を扱いませんが、実際のデータ解析においては100変数近く扱うこともあり、上で示したように関数の引数に全変数名を列挙して削除するのは非常に面倒です。

全変数を一気に削除したいときは、関数removeまたはrmの引数listをls()とします。

関数lsは全変数名を返すため、このように引数を与えてあげることですべてのオブジェクトを削除することが可能です。

まとめ

R言語でオブジェクトを削除する関数とその実行例について見てきました。

関数removeまたはrmで変数を削除することができます。

引数list=ls()とすることで全変数を削除することができ、キャッシュを消去することができます。

スポンサーリンク

  • この記事を書いた人
  • 最新記事

usagi-san

統計学とゲームとかをメインに解説していくよ。 数式とかプログラミングコードにミスがあったり質問があったりする場合はコメントで受け付けます。すぐに対応します。

-R言語
-,