seq.int(r1 $ year,to $ year,by)中的错误:“ from”必须是有限数

时间:2019-04-18 09:39:29

标签: r

这是我的代码-

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,但此处的代码无法正常工作。

1 个答案:

答案 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")