如何在R中找到glm模型的残差?
在线性模型中,残差是观测值与拟合值之间的差,对于一般线性模型而言,差值没有差异。线性模型和常规线性模型之间的区别在于,我们使用概率分布来创建常规线性模型。如果我们想找到一般线性模型的残差,则可以使用resid函数,就像将其与线性模型一起使用一样。
例1
请看以下数据帧:
> x1<-rpois(20,5) > y1<-rpois(20,2) > df1<-data.frame(x1,y1) > df1
输出结果
x1 y1 1 4 2 2 3 3 3 5 3 4 4 2 5 9 2 6 6 3 7 3 2 8 7 1 9 9 1 10 5 0 11 8 4 12 9 2 13 2 1 14 6 1 15 6 5 16 6 2 17 5 4 18 8 0 19 10 1 20 3 4
创建通用线性模型并找到残差:
示例
> Model1<-glm(y1~x1,data=df1,family="poisson") > resid(Model1)
输出结果
1 2 3 4 5 6 -0.26000997 0.27996983 0.47605013 -0.26000997 0.17508623 0.57127286 7 8 9 10 11 12 -0.35255126 -0.77766453 -0.62572768 -2.12094490 1.34735707 0.17508623 13 14 15 16 17 18 -1.18919992 -0.85623706 1.68243725 -0.08061731 1.05078659 -1.93560704 19 20 -0.55225797 0.84384238
例2
> x2<-rpois(20,1) > y2<-rpois(20,10) > df2<-data.frame(x2,y2) > df2
输出结果
x2 y2 1 1 9 2 1 12 3 1 3 4 1 12 5 0 9 6 2 10 7 1 9 8 0 10 9 1 6 10 0 6 11 0 10 12 2 9 13 1 11 14 0 9 15 1 8 16 0 8 17 0 5 18 1 10 19 2 8 20 1 5
创建通用线性模型并找到残差:
示例
> Model2<-glm(y2~x2,data=df2,family="poisson") > resid(Model2)
输出结果
1 2 3 4 5 6 0.16017237 1.11948460 -2.18804473 1.11948460 0.30245806 0.34329148 7 8 9 10 11 12 0.16017237 0.63543354 -0.91479672 -0.78143829 0.63543354 0.01558047 13 14 15 16 17 18 0.80987101 0.30245806 -0.18271927 -0.04321710 -1.18037107 0.49051583 19 20 -0.32452766 -1.31027760