我想为一个配有这样的gls的模型创建一个置信带:
require(ggplot2)
require(nlme)
mp <-data.frame(year=c(1990:2010))
mp$wav <- rnorm(nrow(mp))*cos(2*pi*mp$year)+2*sin(rnorm(nrow(mp)*pi*mp$wav))+5
mp$wow <- rnorm(nrow(mp))*mp$wav+rnorm(nrow(mp))*mp$wav^3
m01 <- gls(wow~poly(wav,3), data=mp, correlation = corARMA(p=1))
mp$fit <- as.numeric(fitted(m01))
p <- ggplot(mp, aes(year, wow))+ geom_point()+ geom_line(aes(year,fit))
p
Run Code Online (Sandbox Code Playgroud)
这只绘制了拟合值和数据,我希望有一些风格
p <- ggplot(mp, aes(year, wow))+ geom_point()+ geom_smooth()
p
Run Code Online (Sandbox Code Playgroud)
但是使用gls模型生成的波段.
谢谢!
我使用带有plm的线性面板模型创建了两个回归模型,并使用带有pglm包的泊松创建了一个广义面板模型.
library(plm); library(pglm)
data(Unions) # from pglm-package
punions <- pdata.frame(Unions, c("id", "year"))
fit1 <- plm(wage ~ exper + rural + married, data=punions, model="random")
fit2 <- pglm(wage ~ exper + rural + married, data=punions, model="random", family="poisson")
Run Code Online (Sandbox Code Playgroud)
我现在想通过绘制一组散点图中的拟合值来图形化地比较两个拟合.最好沿着这些行使用ggplot2:
library(ggplot2)
ggplot(punions, aes(x=exper, y=wage)) +
geom_point() +
facet_wrap(rural ~ married)
Run Code Online (Sandbox Code Playgroud)
我考虑过简单地使用ggplot2 stat_smooth(),但(也许不足为奇)它似乎不能识别我数据的面板格式.手动提取预测值predict似乎也不适用于pglm模型.
如何在此图中叠加我的两个面板模型的预测值?