[問題] R菜鳥請問

看板R_Language作者 (賈斯伯張)時間11年前 (2013/10/08 10:58), 編輯推噓2(2010)
留言12則, 3人參與, 最新討論串1/2 (看更多)
- 問題:使用迴圈時如何正確借用設定好的i去output所需的資訊 [問題類型]: 程式諮詢 [軟體熟悉度]: 入門 [問題敘述]: 當我fit完幾個model後(如3個model:mod1,mod2,mod3),想利用accuracy(model) 去show出fitting資訊,我知道可以直接打accuracy(mod1)..依此類推,但現在 想要改寫程式碼利用loop讓他更簡潔,但是碰到無法在loop裡面指定每次要show的model, 突然想到這個問題,詢問板上大大們! [程式範例]: mod1 <- rwf(EuStockMarkets[1:200,1],h=100) mod2 <- meanf(EuStockMarkets[1:200,1],h=100) mod3 <- Arima(x,order=c(3,1,2)) #我想利用設定好的i讓loop依序針對mod1->3 (i:1->3)執行accuracy(), 我記得在其他程式語言可以做到,一時卡住在R這邊怎麼用 for( i in 1:3 ) { accuracy(mod.i) } [關鍵字]:accuracy(), loop, R, model -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.65.71.253 ※ 編輯: GTBUG 來自: 203.65.71.253 (10/08 10:59) ※ 編輯: GTBUG 來自: 203.65.71.253 (10/08 10:59)

10/08 13:06, , 1F
eval( parse( text=paste(mod,i,sep="") ) )
10/08 13:06, 1F

10/08 13:07, , 2F
"mod"才對
10/08 13:07, 2F

10/08 13:08, , 3F
再改
10/08 13:08, 3F

10/08 13:09, , 4F
eval(parse(text=paste("accuracy(mod",i,")",sep="")))
10/08 13:09, 4F

10/08 13:30, , 5F
上面是高級用法, 以這個例子來說用list可能比較適合
10/08 13:30, 5F

10/08 14:25, , 6F
感謝,但無論用list或eval在loop裡,皆不會有output,而如果
10/08 14:25, 6F

10/08 14:25, , 7F
把list或eval的結果指定給某變數ex.z<-eval(...)再print(z)
10/08 14:25, 7F

10/08 14:26, , 8F
即會有想要的output,這是正確的嗎?還是有其他用法呢
10/08 14:26, 8F

10/08 19:24, , 9F
如果要把物件顯示在console上,需要用print或show
10/08 19:24, 9F

10/08 19:24, , 10F
試試看 show(accuracy(...))
10/08 19:24, 10F

10/09 11:08, , 11F
要 print 那個物件
10/09 11:08, 11F

10/09 14:20, , 12F
ok那跟我想的一樣,謝謝大家
10/09 14:20, 12F
文章代碼(AID): #1IKtJJ0l (R_Language)
討論串 (同標題文章)
以下文章回應了本文
完整討論串 (本文為第 1 之 2 篇):
2
12
文章代碼(AID): #1IKtJJ0l (R_Language)