18

私はaを実行しglm、各係数の標準誤差を抽出したいだけです。インターネットで関数を見ましたが、機能se.coef()せず、戻ります"Error: could not find function "se.coef""

4

3 に答える 3

38

coefficients求めている情報は、によって返されるオブジェクトに格納されsummary()ます。次のように抽出できます。summary(glm.D93)$coefficients[, 2]

#Example from ?glm
counts <- c(18,17,15,20,10,20,25,13,12)
outcome <- gl(3,1,9)
treatment <- gl(3,3)
print(d.AD <- data.frame(treatment, outcome, counts))
glm.D93 <- glm(counts ~ outcome + treatment, family=poisson())

#coefficients has the data of interest
> summary(glm.D93)$coefficients
                 Estimate Std. Error       z value     Pr(>|z|)
(Intercept)  3.044522e+00  0.1708987  1.781478e+01 5.426767e-71
outcome2    -4.542553e-01  0.2021708 -2.246889e+00 2.464711e-02
outcome3    -2.929871e-01  0.1927423 -1.520097e+00 1.284865e-01
treatment2   1.337909e-15  0.2000000  6.689547e-15 1.000000e+00
treatment3   1.421085e-15  0.2000000  7.105427e-15 1.000000e+00

#So extract the second column
> summary(glm.D93)$coefficients[, 2]
(Intercept)    outcome2    outcome3  treatment2  treatment3 
  0.1708987   0.2021708   0.1927423   0.2000000   0.2000000 

names(summary(glm.D93))返されるすべての内容を簡単に確認するには、 を参照してください。実行中の特定の計算を確認したい場合は、チェックアウトすることで詳細を確認できますがsummary.glm、そのレベルの詳細は、統計が 3 つ未満でない限り、毎回必要になるとは限りません。

于 2011-12-13T21:11:41.683 に答える
29

別の方法:

sqrt(diag(vcov(glm.D93)))
于 2011-12-13T21:24:13.067 に答える