如何获得最适合多个图形的线条?

How to get lines of best fit on multiple graphs?

我如何在这些图表中的每一个上获得单独的最佳拟合线?随意更改我的代码或使用另一个库——这就是我遇到困难之前的情况。谢谢!

exampledf<- data.frame(year=c("1999","1999","1999","1995","1995","1995"),npi=c(20,40,20,30,40,15),school=c("A","B","C","A","B","C"))
library(lattice)
library(car)
with(exampledf,
     xyplot(npi~year|school,xlab="Year",ylab="NPI",main="NPI measurements by school and year", aspect = "xy"),
     abline(lm(npi~year|school,data=exampledf))
)

使用 xyplot 的解决方案:

添加参数type=c("p","r")

参考here这会将点和回归线添加到每个图

这个怎么样,ggplot2? (注意,我在每个面板上都添加了一个额外的点)

exampledf<- data.frame(year= rep(c("1999", "1995", "2005"), each = 3),
   npi=c(20,40,20, 30,40,15, 15, 15, 30),
   school=rep(c('A', "B", "C"), 3))

library(ggplot2)

ggplot(exampledf, aes(x = year, y = npi, group = school)) + 
    geom_point() +
    geom_smooth(method = "lm") +
    facet_wrap(~school)