我正在尝试创建一个自动创建zoo
对象多项式的函数。来自 Python 的典型方法是在for
循环外创建一个列表,然后将列表附加到循环内。在此之后,我在 R 中编写了以下代码:
library("zoo")
example<-zoo(2:8)
polynomial<-function(data, name, poly) {
##creating the catcher object that the polynomials will be attached to
returner<-data
##running the loop
for (i in 2:poly) {
#creating the polynomial
poly<-data^i
##print(paste(name, i), poly) ##done to confirm that paste worked correctly##
##appending the returner object
merge.zoo(returner, assign(paste(name, i), poly))
}
return(returner)
}
#run the function
output<-polynomial(example, "example", 4)
example
但是,当我运行该函数时,R 不会抛出异常,但输出对象除了我最初在zoo 对象中创建的数据之外没有任何其他数据。我怀疑我误解了merge.zoo
,或者现在可能允许动态地重新分配循环内多项式的名称。
想法?