作者GTBUG (贾斯伯张)
看板R_Language
标题[问题] R菜鸟请问
时间Tue Oct 8 10:58:24 2013
- 问题:使用回圈时如何正确借用设定好的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)
1F:→ obarisk:eval( parse( text=paste(mod,i,sep="") ) ) 10/08 13:06
2F:→ obarisk:"mod"才对 10/08 13:07
3F:→ obarisk:再改 10/08 13:08
4F:→ obarisk:eval(parse(text=paste("accuracy(mod",i,")",sep=""))) 10/08 13:09
5F:推 Wush978:上面是高级用法, 以这个例子来说用list可能比较适合 10/08 13:30
6F:→ GTBUG:感谢,但无论用list或eval在loop里,皆不会有output,而如果 10/08 14:25
7F:→ GTBUG:把list或eval的结果指定给某变数ex.z<-eval(...)再print(z) 10/08 14:25
8F:→ GTBUG:即会有想要的output,这是正确的吗?还是有其他用法呢 10/08 14:26
9F:推 Wush978:如果要把物件显示在console上,需要用print或show 10/08 19:24
10F:→ Wush978:试试看 show(accuracy(...)) 10/08 19:24
11F:→ obarisk:要 print 那个物件 10/09 11:08
12F:→ GTBUG:ok那跟我想的一样,谢谢大家 10/09 14:20