执行以下命令时,自动收报机HM-B.ST中的连字符被解释为减号。我试图将xts对象重命名为其他东西,但没有成功。有人知道这方面的解决方案吗?
>library(quantmod)
>getSymbols("HM-B.ST")
>chartSeries(HM-B.ST)
Error in inherits(x, "xts") : object 'HM' not found
答案 0 :(得分:7)
解决此问题的最简单方法是不依赖getSymbols()
'默认自动分配行为,而是将时间序列对象分配给您自己选择的更标准名称。例如:
HM.B.ST <- getSymbols("HM-B.ST", auto.assign=FALSE) # h.t. Joshua Ulrich
chartSeries(HM.B.ST)
如果出于某种原因, 希望时间序列保留其默认的带连字符的名称,您可以通过执行以下操作来访问它:
chartSeries(`HM-B.ST`)
原因它起作用的是反引号向R解析器发出信号,它们之间的字符将被解析为单个名称(也就是符号),而不是由减法运算符分隔的两个名称
要一劳永逸地推动这一点,请尝试以下内容:
assign("a really stupidly constructed name!*&^", 5)
`a really stupidly constructed name!*&^`
# [1] 5