R-通过功能将分配的对象保留在工作区中



我正在尝试将分配的对象从函数中放置(构建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")

有指针吗?我认为它可能需要一个返回声明,但我尚未发现它的使用。

未经测试(可重复的示例有很大帮助):

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]]

等。

最新更新