带“-”的 xts 变量

xts variables with "-"

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

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

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

A syntactically valid name consists of letters, numbers and the dot or underline characters and starts with a letter or the dot not followed by a number.

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

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