R语言中含特殊字符的股票代码(如^VIX)调整收盘价提取报错解决
解决R语言提取VIX调整收盘价的报错问题
错误原因
你遇到的Error: unexpected '^' in "^"是因为:
^是R中的特殊字符,不能直接以^开头进行变量赋值操作(^VIX <- ...这一步的写法违规)- 提取列时,列名实际是
VIX.Adjusted(不带^),你的写法^VIX$^VIX.Adjusted错误地给列名也加了^
两种解决办法
办法1:修正赋值和列提取语法
直接调整代码,给提取后的序列起一个合法的变量名,同时用正确的列名提取:
# 提取调整收盘价到合法变量名 vix_adjusted <- ^VIX$VIX.Adjusted
注:
^VIX是getSymbols默认创建的非标准变量名,虽然可以用,但后续操作容易出问题,更推荐用办法2。
办法2:下载时指定普通变量名(更规范)
下载数据时通过auto.assign=FALSE参数,将数据存入自定义的普通变量名,避免特殊字符带来的问题:
# 下载数据到普通变量 vix_data <- getSymbols("^VIX", from="2016-01-01", to="2018-01-01", auto.assign=FALSE) # 提取调整收盘价 vix_adjusted <- vix_data$VIX.Adjusted
内容的提问来源于stack exchange,提问作者Neda Fathi
相关产品推荐
相关产品推荐

