看板 R_Language 關於我們 聯絡資訊
- 問題:使用迴圈時如何正確借用設定好的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)
obarisk:eval( parse( text=paste(mod,i,sep="") ) ) 10/08 13:06
obarisk:"mod"才對 10/08 13:07
obarisk:再改 10/08 13:08
obarisk:eval(parse(text=paste("accuracy(mod",i,")",sep=""))) 10/08 13:09
Wush978:上面是高級用法, 以這個例子來說用list可能比較適合 10/08 13:30
GTBUG:感謝,但無論用list或eval在loop裡,皆不會有output,而如果 10/08 14:25
GTBUG:把list或eval的結果指定給某變數ex.z<-eval(...)再print(z) 10/08 14:25
GTBUG:即會有想要的output,這是正確的嗎?還是有其他用法呢 10/08 14:26
Wush978:如果要把物件顯示在console上,需要用print或show 10/08 19:24
Wush978:試試看 show(accuracy(...)) 10/08 19:24
obarisk:要 print 那個物件 10/09 11:08
GTBUG:ok那跟我想的一樣,謝謝大家 10/09 14:20