晚上好。我的代码需要创建新的变量名。我目前正在使用assign函数。在我创建了我想要的新数据结构之后,我在修改它时遇到了困难。我读过很多次,将变量名存储在列表中是理想的过程,但我在实现这一点上遇到了困难。
这段代码只是尝试向NewVar xts对象添加一个year列。
更大的范围将是多年循环,2018年最终将被i取代。
谢谢!
xts1 <- xts(x=1:10, order.by=Sys.Date()-1:10)
xts2 <- xts(x=21:30, order.by=Sys.Date()-1:10)
NewName = "NewVar"
assign(NewName, xts1 - xts2)
assign(NewName$year, 2018) # this is the code that fails logically...编辑:
期望的结果是使NewVar XTS对象(一个包含10个值的时间序列)具有一个额外的列,该列显示每个值的2018。
是的,我只能说NewVar$year <- 2018。但是我需要在全局环境(NewVar)中访问分配的变量名,而不是显式地键入它。有没有办法使用NewName访问XTS对象NewVar,然后对其进行修改?我的方法查找向量,而不是新创建的XTS。谢谢!
发布于 2018-10-25 07:03:39
为什么不直接使用NewName"year"=2018?
编辑: OK,不太确定我理解了。看看这对你是否有效。
xts1 <- xts(x=1:10, order.by=Sys.Date()-1:10)
xts2 <- xts(x=21:30, order.by=Sys.Date()-1:10)
NewName = "NewVar"
assign(NewName, xts(cbind(N=xts1 - xts2, year=2018)))https://stackoverflow.com/questions/52978963
复制相似问题