我试图从一个函数中保留一个指定的对象(构建一个ts函数来开始对单变量过程建模,我知道这很简单!)。我很难找到一种方法来将对象保留在我的工作区中。只需使用for循环就可以很好地工作,但我想将以下内容参数化:
ts.builder<-function(x,y,z){
for(i in 9:13){
assign(paste(x,i,sep="_"),ts(yardstick[1:528,i], freq=24))
assign(paste(y,i,sep="_"),ts(yardstick[529:552,i], freq=24))
assign(paste(z,i,sep="_"),ts(yardstick[1:552,i], freq=24))
}
}
ts.builder("yard.book.training","yard.book.small.valid", "yard.book.valid")有什么建议吗?我在想它可能需要一个return语句,但我还没有发现它是有用的。
发布于 2012-12-20 07:44:19
未经测试(一个可重现的示例很有帮助):
ts.builder <- function() {
xd <- list()
yd <- list()
zd <- list()
for (i in 9:13) {
xd[[i]] <- ts(yardstick[1:528,i], freq=24)
yd[[i]] <- ts(yardstick[529:552,i], freq=24)
zd[[i]] <- ts(yardstick[1:552,i], freq=24)
}
list(yard.book.training=xd, yard.book.small.valid=yd, yard.book.valid=zd)
}
l <- ts.builder()返回值如下:
l$yard.book.training[[9]]等。
https://stackoverflow.com/questions/13963044
复制相似问题