使用 R,我在一个简单的数据集(Zelig 中的“批准”)上运行回归、模拟和测试显着性。
在我尝试测试统计显着性之前,一切都很顺利。
这是我的代码:
library(mvtnorm)
library(Zelig)
data(approval)
set.seed(12345)
xh1 <- setx(approval, avg.price = mean(approval$avg.price) + sd(approval$avg.price), sept.oct.2001=1)
xl1 <- setx(approval, avg.price= mean(approval$avg.price), sept.oct.2001=1)
xh0 <- setx(approval, avg.price = mean(approval$avg.price) + sd(approval$avg.price), sept.oct.2001 =0)
xl0 <- setx(approval, avg.price= mean(approval$avg.price), sept.oct.2001=0)
zh1 <- sim(approval, x=xh1)zl1 <- sim(approval, x=xl1)zh0 <-sim(approval, x=xh0)
zl0 <- sim(approval, x=xl0)
eff <- (zh1$qi$ev - zl1$qi$ev) -(zh0$qi$ev - zl0$qi$ev)
quantile(eff, c(.025, .975))
我得到的错误是
从第 87-103 行退出(Preview-151c5fba73e.Rmd)terms.default(object) 中的错误:没有 term 组件和 attributeCalls:... eval -> setx -> setx.default -> terms -> terms.default 执行停止
以供参考,
m1<- zelig(approve~avg.price, model="ls", data=approval)
m2<- zelig(approve~avg.price+sept.oct.2001+iraq.war, model="ls", data=approval)
m3<- zelig(approve~avg.price+sept.oct.2001+avg.price:sept.oct.2001, model="ls", data=approval)
对于我的模拟
x1 <- setx(m2, sept.oct.2001= 1)
s1 <- sim(m2, x=x1)
summary(s1)
x1 <- setx(m2, sept.oct.2001= 0)
s1 <- sim(m2, x=x1)
summary(s1)
oilprice<-min(approval$avg.price):max(approval$avg.price)
x2 <- setx(m2, sept.oct.2001=0, avg.price=oilprice)
s2 <-sim (m2, x=x2)
plot.ci(s2)
oilprice<-min(approval$avg.price):max(approval$avg.price)
x2 <- setx(m2, sept.oct.2001=1, avg.price=oilprice)
s2 <-sim (m2, x=x2)
plot.ci(s2)
这一切都很好。