带有“-”的 xts 变量

问题描述

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

我有一个包含引起问题的符号的变量。

我正在尝试创建一个函数,该函数根据财务数据计算各种指标,在本例中,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 

解决方法

来自?make.names

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

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

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