如何在R中按日期提取DataFrame内AAPL指定日期的收盘价?
按日期筛选quantmod获取的AAPL数据并提取收盘价
用quantmod获取的AAPL是xts时间序列对象,而非普通DataFrame,以下是几种提取2022-10-27收盘价的实用方法:
方法1:直接利用xts的日期索引语法
这是xts对象最便捷的操作方式:
# 提取2022-10-27当天的完整数据 AAPL["2022-10-27"] # 仅提取当天的收盘价 AAPL["2022-10-27", "AAPL.Close"]
方法2:转换为DataFrame后筛选
如果更习惯DataFrame的操作逻辑,可以先转换格式:
# 将xts对象转为DataFrame AAPL_df <- as.data.frame(AAPL) # 把行名(日期)转为单独的列 AAPL_df$Date <- rownames(AAPL_df) # 筛选指定日期并提取收盘价 AAPL_df[AAPL_df$Date == "2022-10-27", "AAPL.Close"]
方法3:使用subset函数
借助xts包的subset函数精准筛选:
subset(AAPL, index(AAPL) == as.Date("2022-10-27"))$AAPL.Close
扩展:提取日期区间数据
如果需要提取某段日期的收盘价,比如2022-10-25至2022-10-27,可直接用区间语法:
AAPL["2022-10-25/2022-10-27", "AAPL.Close"]
内容的提问来源于stack exchange,提问作者Bubbles
相关产品推荐
相关产品推荐

