You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用quantmod无法提取沙特股市股票开盘价,报unexpected symbol错误

问题解决方法

1. 提取行情数据报错的原因及解决

你遇到的Error: unexpected symbol是因为R里数字开头且带点的对象名(比如2222.SR)不能直接作为函数参数——R会把2222.SR解析成2222 * SR,而不是你获取的股票数据对象。

解决方法有两种:

  • 方法一:调用Op()等函数时,用反引号把对象名包起来:
    OPEN1 <- Op(`2222.SR`)
    CLOSE1 <- Cl(`2222.SR`)
    
  • 方法二:获取数据时手动指定变量名,避免自动生成带特殊格式的对象名:
    # 关闭自动赋值,手动存储数据
    stock_2222 <- getSymbols("2222.SR", auto.assign = FALSE)
    OPEN1 <- Op(stock_2222)
    

美股代码(比如AAPL)是字母开头,所以不会触发这个解析问题,这就是为啥美股能正常运行的原因。

2. 缺失值警告的处理

针对7010.SR的缺失值警告,直接用提示的函数处理即可:

  • 直接删除含缺失值的行:
    stock_7010_clean <- na.omit(`7010.SR`)
    
  • 用线性插值填充缺失值(适合时间序列数据):
    stock_7010_fill <- na.approx(`7010.SR`)
    
  • 用前后值填充:
    stock_7010_fill <- na.fill(`7010.SR`, "extend")
    

处理完缺失值后,再调用Op()、Cl()等函数就不会有潜在问题了。

内容的提问来源于stack exchange,提问作者BubaZeed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 01:25:30