首页 > 解决方案 > 获得学生化残差

问题描述

我有这个矩阵:

                        High    middle  low
              current    51       22     43 
               former    92       21     28
                never    68        9     22

我试图弄清楚如何获得学生化的残差,我试图将它变成一个数据框。但我不确定 R 中是否有一个函数可以计算其学生化残差,最好是表格形式。我在网上看过,我正在尝试查找函数,以便检查我的手工计算。

标签: rstatistics

解决方案


您应该使用发布您的数据dput,以便更轻松地向您展示如何使用您的数据。你的矩阵可能有这样的结构,假设它被称为tbl

str(tbl)
#  int [1:3, 1:3] 51 92 68 22 21 9 43 28 22
#  - attr(*, "dimnames")=List of 2
#   ..$ : chr [1:3] "current" "former" "never"
#   ..$ : chr [1:3] "High" "middle" "low"

要使用回归,您需要更改格式:

dta <- as.data.frame.table(tbl)
dta
#      Var1   Var2 Freq
# 1 current   High   51
# 2  former   High   92
# 3   never   High   68
# 4 current middle   22
# 5  former middle   21
# 6   never middle    9
# 7 current    low   43
# 8  former    low   28
# 9   never    low   22

现在glm功能family=poisson

dta.glm <- glm(Freq~Var1+Var2, dta, family="poisson")

现在获取结果摘要并绘制它们:

summary(dta.glm)
plot(dta.glm)

最后你的学生化残差:

rstudent(dta.glm)
#          1          2          3          4          5          6          7          8          9 
# -4.1411597  1.8519088  2.2282495  1.5779266  0.1239062 -1.9153422  3.1722502 -2.2230862 -1.0548112 

推荐阅读