这是我的代码-
uc_ts_plot <- ggplot(monthly_sales, aes(DATE,DAUTONSA)) + geom_line(na.rm=TRUE) +
+ xlab("Month") + ylab("Auto Sales in Thousands") +
+ scale_x_date(labels = date_format(format= "%b-%Y"),breaks = date_breaks("1 year")) +
+ stat_smooth(colour = "green")
uc_ts_plot
错误-
geom_smooth() using method = 'loess' and formula 'y ~ x'
Error in seq.int(r1$year, to$year, by) : 'from' must be a finite number
In addition: Warning message:
Removed 627 rows containing non-finite values (stat_smooth).
有帮助吗?我指的是此链接-https://rstudio-pubs-static.s3.amazonaws.com/343096_90b218e393454f79a5012e7ad0913e76.html,但此处的代码无法正常工作。
答案 0 :(得分:0)
出问题的是DATE列转换为Date格式。
提供的链接上的示例建议:
monthly_sales$DATE <- as.Date(monthly_sales$DATE, "%m/%d/%Y")
而单元格的格式为“ 1967-01-01”。
因此,所有日期都将转换为NA。
正确的处理方法是:
monthly_sales <- read.csv("DAUTONSA.csv",header = TRUE, stringsAsFactors = FALSE)
monthly_sales$DATE <- as.Date(monthly_sales$DATE, "%Y-%m-%d")
uc_ts_plot <- ggplot(monthly_sales, aes(DATE,DAUTONSA)) + geom_line(na.rm=TRUE) +
xlab("Month") + ylab("Auto Sales in Thousands") +
scale_x_date(labels = date_format(format= "%b-%Y"),breaks = date_breaks("1 year")) +
stat_smooth(colour = "green")
请注意
中的更改monthly_sales$DATE <- as.Date(monthly_sales$DATE, "%Y-%m-%d")
行