我试图从函数中保留指定的对象(构建一个 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 语句,但我还没有发现它有用。
最佳答案
未经测试(可重现的示例有很大帮助):
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]]
等等
关于r - 通过函数将分配的对象保留在工作区中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13963044/