作者:
andrew43 (討厭有好心推文後刪文者)
2015-04-06 01:24:47我舉個例看你可以了解多少。
這不是從 R 的功能達成的,而是從原理
t = (beta_hat - beta) / (std error)
直接算來的。
x1 <- c(3,5,2,6,3,2,3)
x2 <- c(3,6,3,5,6,4,2)
y <- c(1,2,3,4,5,6,7)
fit <- lm(y ~ x1 + x2)
sol <- summary(fit)
# 求 H0: beta = 0 的雙尾檢驗 p 值
t.val.0 <- abs(sol$coefficients[,1] - 0) / sol$coefficients[,2]
2 * pt(t.val.0, df = 4, lower.tail=F)
# 求 H0: beta = 1 的雙尾檢驗 p 值
t.val.1 <- abs(sol$coefficients[,1] - 1) / sol$coefficients[,2]
2 * pt(t.val.1, df = 4, lower.tail=F)
也可以藉由 package aod 的 wald.test()
# 求 H0: beta = 1 的雙尾檢驗 p 值
library(aod)
wald.test(b = coef(fit), Sigma = vcov(fit), H0 = 1, Terms = 1, df = 4)
wald.test(b = coef(fit), Sigma = vcov(fit), H0 = 1, Terms = 2, df = 4)
wald.test(b = coef(fit), Sigma = vcov(fit), H0 = 1, Terms = 3, df = 4)
※ 引述《markbaseball (Mark)》之銘言:
:
: - 問題: 當你想要問問題時,請使用這個類別
:
: [問題類型]:
:
: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
:
: [軟體熟悉度]:
: 請把以下不需要的部份刪除
: 新手(沒寫過程式,R 是我的第一次)
: [問題敘述]:
: 請問各位在回歸分析時,預設的Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
: 但是,我現在要檢定的是係數是否異於1,不是0。請問有辦法更改預設值嗎?
: 謝謝各位的幫忙
: [程式範例]: