No.16762 R summaryからの結果の抽出  【赤岳】 2012/04/13(Fri) 17:53

Rの使い方を教えてくれませんか。
ある解析をすると,下記のような解が出ました。
解はgと命名しています。
この中の,xのp値のみを取り出したいのですが,
g$p.value
としてもNULLとしか返ってこず,困っています。
t.testのときは,それで取り出せたように記憶しているのですが,どう指定すればよいのでしょうか。

> g<-f(106,41)
> g
Call:
glm(formula = d ~ x + offset(b), family = poisson)
(省略)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.04763 0.15617 -0.305 0.76
x 0.88243 0.18391 4.798 1.6e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(以下,省略)

No.16763 Re: R summaryからの結果の抽出  【青木繁伸】 2012/04/13(Fri) 18:25

オブジェクトの構造は

str(オブジェクト)

で,得られます。glm が返すオブジェクト中には,p.value という要素はないですね。
> x <- c(0,1) # 治療薬(A,P)
> y <- c(106,41) # 観測度数(副作用)
> n <- c(log(46), log(43)) # 症例数(A,P)
> g <- glm(y ~ x + offset(n), family=poisson(log))
> str(g)
List of 30
$ coefficients : Named num [1:2] 0.835 -0.882
..- attr(*, "names")= chr [1:2] "(Intercept)" "x"
$ residuals : Named num [1:2] -9.84e-14 -4.39e-12
..- attr(*, "names")= chr [1:2] "1" "2"
途中省略
- attr(*, "class")= chr [1:2] "glm" "lm"
p.value というのは,summary(g) が返すオブジェクト中にあります。
> g2 <- summary(g)
> str(g2)
List of 17
$ call : language glm(formula = y ~ x + offset(n), family = poisson(log))
$ terms :Classes 'terms', 'formula' length 3 y ~ x + offset(n)
.. ..- attr(*, "variables")= language list(y, x, offset(n))
途中省略
$ deviance.resid: num [1:2] 0 0
$ coefficients : num [1:2, 1:4] 0.8348 -0.8824 0.0971 0.1839 8.5948 ...  ここにある
..- attr(*, "dimnames")=List of 2
.. ..$ : chr [1:2] "(Intercept)" "x"
.. ..$ : chr [1:4] "Estimate" "Std. Error" "z value" "Pr(>|z|)"
$ aliased : Named logi [1:2] FALSE FALSE
後略

> g2$coefficients # coefficients 要素 これは matrix
Estimate Std. Error z value Pr(>|z|)
(Intercept) 0.8347977 0.09712856 8.594770 8.343156e-18
x -0.8824257 0.18391338 -4.798051 1.602170e-06

> g2$coefficients[,4] # 4 列目を取り出す
(Intercept) x
8.343156e-18 1.602170e-06

> g2$coefficients[2,4] # 2行・4列目を取り出す
[1] 1.60217e-06
そんな風です。

No.16764 Re: R summaryからの結果の抽出  【赤岳】 2012/04/13(Fri) 19:22

青木先生,
ありがとうございます。
いろんなR関連の資料を見たのですが,うまく探し出せませんでした。
結構ややこしいんですね。
でも,ほんとに,助かります。
お礼申し上げます。

● 「統計学関連なんでもあり」の過去ログ--- 045 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る