楼主:
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。请问有办法更改默认值吗?
: 谢谢各位的帮忙
: [程式范例]: