SiK*_*iHe 1 r function return-type
我想编写一个创建时间序列的函数,但我希望它能够生成时间序列的名称作为调用的一部分.
有点
makeTS(my.data.frame, string(dateName), string(varName)){
-create time series tsAux from my.data.frame, dateName and varName
-create string tsName
(-the creation of tsAux is not a problem)
assign(tsName, tsAux)
return(tsName)
}
Run Code Online (Sandbox Code Playgroud)
这也许并不奇怪,这会返回字符串tsName,但有什么方法可以让它返回一个命名对象?
我试过了
do.call('<-', list(tsName, tsAux))
Run Code Online (Sandbox Code Playgroud)
我也尝试过使用
as.name(tsName) <- tsAux
Run Code Online (Sandbox Code Playgroud)
但似乎没什么用.
我知道
tsName <- makeTS2(my.data.frame, dateName, varName)
Run Code Online (Sandbox Code Playgroud)
会做的伎俩(makeTS2()只是生成时间序列tsAux并返回它),但有没有办法让它与一个函数调用一起工作?
谢谢!
可以吗?当然:
makeTS <- function(dat, varName) {
result <- NA
assign( varName, result, envir = .GlobalEnv )
result
}
> makeTS(NA, "test")
[1] NA
> test
[1] NA
Run Code Online (Sandbox Code Playgroud)
如若你?几乎肯定不是.