作者Wush978 (拒看低质媒体)
看板R_Language
标题Re: [问题] R菜鸟请问
时间Tue Oct 8 12:59:42 2013
※ 引述《GTBUG (贾斯伯张)》之铭言:
: - 问题:使用回圈时如何正确借用设定好的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
你可以把fit 出来的物件放到一个list之中,
ex:
```
mod <- list()
mod[[1]] <- rwf(EuStockMarkets[1:200,1],h=100)
mod[[2]] <- meanf(EuStockMarkets[1:200,1],h=100)
mod[[3]] <- Arima(x,order=c(3,1,2))
```
然後回圈中使用:
```
for(i in seq_along(mod)) {
# seq_along(mod) 等同於 1:length(mod),但是某些情形下能优化
accuracy(mod[[i]])
}
```
ps. 上面程式码没测过,可能有typo
这是你要的吗?
--
欢迎到ptt R_Language版分享R 的相关知识
欢迎加入 Taiwan R User Group :
http://www.facebook.com/Tw.R.User
聚会报名
http://www.meetup.com/Taiwan-R/
聚会影片
https://www.youtube.com/user/TWuseRGroup
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.135.56.60