R语言中如何将xts/zoo类型对象转换为data.frame?
核心原因
你运行的所有转换函数仅会生成新的目标类型对象,不会自动修改原NKLA变量的存储内容,因此必须将转换结果赋值给变量(可以覆盖原NKLA或存入新变量)才能得到想要的data.frame类型对象。
正确操作示例
方法1(推荐,单独保留日期列)
# 存入新变量NKLA_df,不修改原xts对象 NKLA_df <- data.frame(date = index(NKLA), coredata(NKLA)) # 若不需要保留原xts对象,可直接覆盖原变量 # NKLA <- data.frame(date = index(NKLA), coredata(NKLA))
执行后查看class(NKLA_df)即可确认返回为data.frame类型,且date列单独存储原xts的时间索引,符合绝大多数后续分析需求。
其他可用方法(需配合赋值)
你之前尝试的其他方法只要补充赋值步骤也可正常使用:
- 直接转data.frame(时间索引转为行名,无单独日期列):
NKLA_df <- as.data.frame(NKLA) - 转data.table(兼容data.frame操作,如需纯data.frame可再加一步
as.data.frame()):NKLA_dt <- as.data.table(NKLA) # 转普通data.frame:NKLA_df <- as.data.frame(NKLA_dt)
内容的提问来源于stack exchange,提问作者pdeli
相关产品推荐
相关产品推荐

