回帰分析にはrstatixパッケージを使いません。10m歩行の方向速度(gait)を目的変数、1日活動量(1日の歩数; steps)を説明変数にした単回帰分析を行います。
gait |
steps |
1 |
7938 |
0.96 |
6172 |
1.03 |
9653 |
中略 |
中略 |
0.96 |
8783 |
1.48 |
8861 |
1.42 |
9292 |
回帰分析のコードは以下の通りです。
> model1<-lm(gait ~ steps, data = data1) > model1 |> summary() Call: lm(formula = gait ~ steps, data = data1) Residuals: Min 1Q Median 3Q Max -0.44208 -0.23944 0.00866 0.19000 0.47315 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 2.659e-01 2.306e-01 1.153 0.253635 steps 1.137e-04 2.815e-05 4.041 0.000159 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 0.2543 on 58 degrees of freedom Multiple R-squared: 0.2197, Adjusted R-squared: 0.2062 F-statistic: 16.33 on 1 and 58 DF, p-value: 0.0001589
model1という名前を付けてコードを記載しました。lm()関数を使い、モデルの構造と対象データを指定します。目的変数と説明変数は ~ で結びます。すなわちgait ~ stepsとなります。そして、, で区切ってデータの名前を指定します。
model1の結果をsummary()関数で出力します。
model1をパイプ演算子でsummary()関数とつなぎます。summary()関数を用いることで、モデルの詳細を表示できます。summary(model1)としても同様にモデルの詳細 を表示できます。
結果です。Coefficients:を確認します。Estimateは回帰係数、Std. Errorは標準誤差、t valueがt値で、Prがp値です。ただし、InterceptのEstimateは回帰係数ではなく、切片の値です。これらの結果から以下のモデル式が導かれます。
gait(10m歩行速度) = 0.0001137 × steps(1日の歩数) + 0.2659
ここから、1歩歩数がふえると0.0001137m/秒歩行速度が速くなることが理解できます。つまり、1000歩増えると、0.137m/秒速くなることわけです。10m歩行の平均的な速度が1.4m/秒であることを考慮するとそれなりに影響する、ということが言えそうです。また、有意水準を5%と設定した場合、回帰係数は有意ということになります。これは、回帰係数=0という、帰無仮説は棄却されたことを意味します。調整済み決定係数はおよそ0.2でした。そしてf統計量に対して、p値は有意水準未満となっていました。モデルとしても有意と言えそうです。
コメント