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

在R中提取pedquant获取的USDCNY数据close列失败,求解决方法

解决pedquant提取USDCNY汇率close列的问题

首先先确认你的cny对象的结构,先运行这两行代码查看:

class(cny)
str(cny)

pedquant的md_forex()函数默认返回的是分组tibble或包含多数据表的列表,这就是直接用cny$close或cny[,7]提取失败的核心原因。下面是几种针对性的解决办法:

  • 如果返回的是分组tibble:
    先取消分组再提取列,两种实现方式:

    # 用dplyr的方式
    library(dplyr)
    cny_close <- cny %>% ungroup() %>% pull(close)
    
    # 不用dplyr的方式
    cny_close <- as.data.frame(cny)$close
    
  • 如果返回的是列表(比如包含多市场数据):
    先提取列表内的数据框元素,再取对应列:

    # 假设第一个列表元素是USDCNY的目标数据
    cny_close <- cny[[1]]$close
    
  • 先确认列名是否准确:
    有时候列名可能存在大小写或隐藏空格问题,先查看完整列名:

    # 如果是单数据表对象
    names(cny)
    # 如果是列表对象
    names(cny[[1]])
    

    再用准确的列名提取,比如列名实际是"Close"的话:

    cny_close <- cny[["Close"]]
    

另外,你也可以在调用md_forex()时直接指定返回普通数据框,后续就能直接用常规方式提取列:

cny <- md_forex('usdcny', output = "data.frame")
# 之后直接用cny$close即可提取

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 12:30:58