我有一个“长”数据框定义为:

q <- data.frame(Indicator.Code=factor(),Year=numeric(),Value=numeric())

并试图在单个 xyplot 中绘制作为年份函数的值,对于每个不同的 Indicator.Code ,如下所示
xyplot( Value~Year,data=q,group=Indicator.Code)

到现在为止还挺好。现在我正在尝试添加与线性回归相对应的线
rlm(q$Value[q$Indicator.Code==a]~q$Year[q$Indicator.Code==a])

对于 Indicator.Code 的所有值。

我不知道怎么做。添加回归线的常用方法,即
xyplot( Value~Year,data=q,group=Indicator.Code),
panel = function(x, y) {
  panel.xyplot(x, y)
  panel.abline(rlm(y ~ x))
}))

无法正常工作(它计算单个回归,并为整个数据集添加单个回归线)。此外,我已经计算了回归(除了图形之外我也需要它们),并且讨厌必须重新计算它们的想法。

新手可以遵循的任何提示?

最佳答案

我是一个 ggplot2 瘾君子:)。 ggplot2 中的等价物符合您的预期:

library(ggplot2)
ggplot(q, aes(x = Year, y = Value, color = Indicator.Code)) +
   geom_point() + stat_smooth(method = "rlm")

请注意,我相信您将任何函数作为 method 传递,但如果没有可重现的示例,则很难检查。

关于r - xyplot 中的多个 ablines,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16361766/

10-10 03:46