如果loess方法返回错误,请使用glm方法

时间:2012-12-12 21:20:58

标签: r ggplot2

df

Date      Ovserv  Team
1/1/2012  10      USA
1/2/2012  30      USA
1/3/2012  28      USA
1/4/2012  79      USA
1/5/2012  24      USA
1/1/2012  45      Japan
1/2/2012  10      Japan
1/3/2012  56      Japan
1/4/2012  60      Japan
1/5/2012  67      Japan

我真的很喜欢黄土,喜欢随时使用它。我正在使用各种不同的数据框,我正在尝试使用黄土方法来绘制图形。但是,由于一些不一致(某些数据帧没有足够的数据点),我收到了这个错误:

Error in predLoess(object$y, object$x, newx, object$s, object$weights,

如果使用method="glm"方法“黄土”我会收到错误,是否可以使用ggplot2

ggplot(df, (Date, Observ, group=Team, colour=Team)) + 
   geom_smooth(method="loess", se=T, size=1)

我是如何解决这个问题的?

1 个答案:

答案 0 :(得分:6)

如果没有足够的黄土数据,语句class(try(loess(y~x, df)))=="try-error"将给TRUE

你可以尝试一下

ggplot(....) + geom_smooth(method=ifelse(class(try(loess(y~x, df)))=="try-error",
                                          "glm","loess")....) 

如果您不想查看错误消息,请将silent=TRUE添加到try参数。