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

使用ts()转换日度数据出错,R绘制CCMP指数图表异常求助

问题排查与解决方法

核心错误点

你用ts()函数处理日度数据的方式完全错误:

  • ts对象设计用于月度、季度这类固定频率的规则时间序列,不适合非连续的日度数据。
  • 设置frequency=365会让R强制把每年拆成365个时间点,自动填充缺失日期的空值,导致原本的价格数据被错位映射,最终图表走势完全失真。

修正方案

不需要转成ts对象,直接用你已经处理好的time(Date类型)列绘图,两种简单方法:

方法1:基础绘图快速修正

ccmp <- read.csv("/Users/jackconnors/Downloads/yeet.csv")
ccmp$time <- as.Date(ccmp$date, format = "%m/%d/%Y")
ccmp <- ccmp[order(ccmp$time), ]

# 直接基于Date列绘制折线图
plot(ccmp$time, ccmp$price, xlab="Year", ylab="Price", main="CCMP Price", lwd=2.5, type="l")

注:加type="l"指定绘制折线,默认是散点图

方法2:用ggplot2绘制更专业的图表

如果需要更美观的日期轴和样式,推荐用ggplot2:

# 首次使用先安装包
install.packages("ggplot2")
library(ggplot2)

ggplot(ccmp, aes(x = time, y = price)) +
  geom_line(linewidth = 2.5) +
  labs(x = "Year", y = "Price", title = "CCMP Price") +
  theme_minimal()

为什么Excel显示正常?

Excel会自动识别Date类型列,按实际存在的日期顺序绘图,不会强制填充缺失的日期点,因此能正确还原指数的下跌走势。

异常图表参考

异常的CCMP指数走势图表

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 17:09:45