我正在尝试为具有大量不同组的数据集绘制曲线。我想在一个图形上将所有曲线可视化到一个普通模型(stat_smooth with glm with a quasipoisson error),因此,我正在使用颜色对它们进行分组。但是,对于某些曲线,拟合函数会熄灭,我得到了
错误:未找到有效的系数集:请提供起始值
然后没有情节。
有没有办法让情节出现而没有那些“坏”群体的曲线?我问,因为有大量的组,虽然我可以编写一个错误检查脚本,然后将它们从数据中踢出来,但如果除了那些有错误的所有内容之外的所有内容都会更好。
答案 0 :(得分:2)
我认为没有非常这么简单的方法,但这就是我想要的:
编写一个循环或ldply
语句来运行您想到的模型,包含在try
中:例如
trymodelList <- ldply(mydata,.(grp1,grp2),glm,formula=y~x,family="quasipoisson")
(我认为当前的数据块应该作为data
参数自动填充。)
找出哪些是坏的:像alply(trymodelList,inherits,what="try-error")
使用此逻辑向量对您不需要的组进行子集化,然后将子集化数据传递给geom_smooth
而不是完整数据集。
我知道有一些细节遗漏了......
编辑:我发现我基本上写下了“编写错误检查脚本......然后将其从数据中删除”策略。对不起,我认为有一种更简单的方法可以做到这一点。您可以尝试使用ggplot用户列表...