xts 变量带“-”

Posted

技术标签:

【中文标题】xts 变量带“-”【英文标题】:xts variables with "-" 【发布时间】:2021-08-06 01:01:01 【问题描述】:

对此问题的任何帮助表示赞赏,我意识到这可能是一个非常愚蠢的问题。

我有一个包含导致问题的符号的变量。

我正在尝试创建一个从财务数据计算各种指标的函数,在这种情况下,sma 来自使用 R 中的QUANTMOD 包下载的 xts 变量中的列。问题是该变量是使用下载的名称中有一个“-”符号(XLM-USD),我不知道如何使用它,因为它会产生错误,我也找不到一个简单的方法来重命名这个变量。

请查看下面的代码和错误。

任何帮助将不胜感激。

谢谢:)

library(quantmod)

# download portfolio
getSymbols("XLM-USD", from="2021-03-01")

#create SMA function
mySMA <- function (price,n)
    sma <- c()
    sma[1:(n-1)] <- NA
    for (i in n:length(price))
        sma[i]<-mean(price[(i-n+1):i])
    
    sma <- reclass(sma,price)
    return(sma)


SMA <- mySMA(Cl(XLM-USD),n=20)

生产

 Error in has.Cl(x) : object 'XLM' not found 

【问题讨论】:

【参考方案1】:

来自?make.names

语法上有效的名称由字母、数字和点或下划线组成 字符并以字母或点开头,后跟数字。

不遵循这些规则的变量名需要用反引号括起来:

SMA <- mySMA(Cl(`XLM-USD`),n=20)

【讨论】:

快速、简单且有效。非常感谢!

以上是关于xts 变量带“-”的主要内容,如果未能解决你的问题,请参考以下文章

从多个 xts 对象创建虚拟对象

将虚拟变量转化为权重

带假人的时间序列变量的多重回归

定义带或不带导出的变量

postman 带变量参数使用方法

js 声明变量带var和不带的区别