2014年11月27日木曜日

Rでオブジェクトの存在を確認する方法

Rでは変数名の上書きをうっかりしないよう、プログラマは変数を意識してコードを書かなければならない。そこで、Rにおいてオブジェクトが既に存在しているか確認する方法についていくつか挙げてみる。

  1. ls()関数
    • オブジェクトの一覧を表示する関数である。search()関数を利用するとサーチパス上にある名前空間の一覧をすべて見ることができる。
      > search()
      [1] ".GlobalEnv"        "package:stats"     "package:graphics" 
      [4] "package:grDevices" "package:utils"     "package:datasets" 
      [7] "package:methods"   "Autoloads"         "package:base" 
      

      単にls()とすると、".GlobalEnv"の中にあるオブジェクト一覧が表示される。

      > a < -5
      > ls()
      [1] "a"
      
      他の名前空間にあるオブジェクト一覧を知りたいというときは、search()関数で分かった順番を基に、pos引数を使って指定すればよい。以下の例では、2番目の値にあったstatsパッケージのオブジェクト一覧を見ていることになる。
      > head(ls(pos=2))
      [1] "acf"        "acf2AR"     "add.scope"  "add1"       "addmargins"
      [6] "aggregate" 
      
  2. exists()関数
    • オブジェクトの存在をダイレクトに確認するのであれば、この関数を利用するとよい。

フォロワー

ページビューの合計