1. ホーム
  2. r

[解決済み] 回帰係数の値を抽出する

2023-07-07 17:06:13

質問

薬剤の使用状況を調査するための時系列データの回帰モデルを持っています。目的は、時系列にスプラインをフィットさせ、95%CIなどを計算することです。モデルは次のようなものです。

id <- ts(1:length(drug$Date))
a1 <- ts(drug$Rate)
a2 <- lag(a1-1)
tg <- ts.union(a1,id,a2)
mg <-lm (a1~a2+bs(id,df=df1),data=tg) 

の要約出力は mg

Call:
lm(formula = a1 ~ a2 + bs(id, df = df1), data = tg)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.31617 -0.11711 -0.02897  0.12330  0.40442 

Coefficients:
                  Estimate Std. Error t value Pr(>|t|)    
(Intercept)        0.77443    0.09011   8.594 1.10e-11 ***
a2                 0.13270    0.13593   0.976  0.33329    
bs(id, df = df1)1 -0.16349    0.23431  -0.698  0.48832    
bs(id, df = df1)2  0.63013    0.19362   3.254  0.00196 ** 
bs(id, df = df1)3  0.33859    0.14399   2.351  0.02238 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 

を使っています。 Pr(>|t|) の値を a2 を使用して、調査中のデータが自己相関しているかどうかをテストします。

のこの値を抽出することは可能でしょうか? Pr(>|t|) (このモデルでは 0.33329) を抽出してスカラーに保存し、論理テストを実行することは可能ですか?

または、他の方法で解決できますか?

どのように解決するのですか?

A summary.lm オブジェクトはこれらの値を matrix と呼ばれる 'coefficients' . で目的の値にアクセスできるわけです。

a2Pval <- summary(mg)$coefficients[2, 4]

あるいは、より一般的・読みやすいように coef(summary(mg))["a2","Pr(>|t|)"] . 参照 をご覧ください。 を参照してください。