Rのプログラム


Rのプログラムは思ったより組みやすい。
オブジェクト指向だし、変数はローカルだし、慣れればなんとかなりそうある。しかし、癖はある。rubyに慣れていると、括弧とかを省略してしまって、すぐにエラーがでる。 今日は、どんなデータフレームが読み込まれているかを調べる関数を作るのに苦労した。データフレームもローカルなんですね。また、is.data.frameは名前の文字列を入れると、文字列なので、常にFALSEを返してしまうので、evalでごまかした。

data_frame <- function(){
  l<-ls(env=.GlobalEnv)
  r<-c()
  for(i in l){
     if(eval(parse(text=sprintf("is.data.frame(%s)",i)))){r<-c(r,i)}
  }
  return(r)
}