2012-12-12 23 views
1
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 

我真的很喜欢黄土,只要我可以使用它。我正在处理各种不同的数据帧,我尝试使用黄土方法来绘制图形。然而,由于一些不一致的地方(没有足够的数据点的一些数据帧),我收到此错误:如果黄土方法返回错误使用glm方法

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

是否有可能在我使用ggplot2方法得到错误的情况下使用method="glm"“黄土“?

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

任何想法,我会如何解决这个问题?

+0

检查数据帧是否具有足够的大小,如果大小足够大,只添加'geom_smooth'层。 – joran

回答

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=TRUEtry参数,如果你不希望看到的错误消息。