Rの質問

Rの質問です。

以下は、最初のところでFAKEのデータを作っています。my_functionですけど、d_sというDATA FRAMEの中から、高校生のデータで、最初はGRADEが11の時に、データをサブセットするようになっています。その次のループでは、GRADEが12の時に、そうします。小さなデータを作るのが目的です。

問題は、これでせっかく書き出したものが、実際に、CALLされるようになっていません。eval()でできるとネットに書いてあったので試したのですがダメです。どうしたらいいでしょうか?成功すると、G11とG12という別々のデータフレームが作成されるはずなのです。

d_s <- data.frame(grade_ = c(10, 11, 12, 13, 12),

WVEIS = c(123, 134, 243, 244, 133),

annual_total_hours = c(1, 1, 5, 3, 5))

my_function <- function(var1)

{

eval(paste0('G',var1,'<-filter(d_service,grade_==',var1,')'))

}

 

my_function(11)

my_function(12)

 

今のところ、以下のように、ただ単に結果がプリントされるだけで、CALLされていません。

> my_function(13)

[1] "G13<-filter(d_service,grade_==13)"

> my_function(12)

[1] "G12<-filter(d_service,grade_==12)"

 

もしお時間がありましたら、教えていただけますか?

k u e k a w a @gmail.com までお願いします。

Leave a Reply