【发布时间】:2020-03-26 11:49:24
【问题描述】:
我有以下probit模型,i和a之间有交互作用:
probit5 <- glm(y ~ a + b + c + d + e + f + g + h + i + j + k + l + i*a,
family = binomial(link = "probit"),
data = data)
但是当我使用 intEff 函数时:
intEff(probit5, c("i", "a"), data = data)
我收到以下错误:
Error in dimnames(x) <- dn :
length of 'dimnames' [2] not equal to array extent
In addition: Warning message:
In cbind(deriv1, deriv2, deriv3, nn, deriv0) :
number of rows of result is not a multiple of vector length (arg 4)
数据框“data”看起来像这样,类说它是一个data.frame
可重现的示例:
a <- c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
b <- c(18, 18, 18, 18, 18, 18, 18, 18, 18, 18)
c <- c(3.667, 3.667, 3.667, 3.667, 3.667, 3.667, 3.667, 3.667, 3.667, 3.667)
d <- c(4.8, 4.8, 4.8, 4.8, 4.8, 4.8, 4.8, 4.8, 4.8, 4.8)
e <- c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
f <- c(4.54, 4.54, 4.54, 4.54, 4.54, 4.54, 4.54, 4.54, 4.54, 4.54)
g <- c(3.6364, 3.6364, 3.6364, 3.6364, 3.6364, 3.6364, 3.6364, 3.6364, 3.6364, 3.6364)
h <- c(2.8, 2.8, 2.8, 2.8, 2.8, 2.8, 2.8, 2.8, 2.8, 2.8)
i <- c(1, 0, 1, 0, 1, 0, 1, 0, 1, 0)
j <- c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
k <- c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
l <- c(0, 0, 1, 0, 0, 0, 0, 0, 0, 0)
y <- c(0, 0, 1, 0, 0, 0, 0, 0, 0, 0)
data <- data.frame(y, a, b, c, d, e, f, g, h, i, j, k, l)
probit <- glm(y ~ a + b + c + d + e + f + g + h + i + j + k + l + i*a,
family = binomial(link = "probit"),
data = data)
intEff(probit, c("i", "a"), data = data)
但这显示了以下错误:
Error in apply(X[, vars], 2, table) : dim(X) must have a positive length
也许需要注意的是 data.csv 是使用 read.csv2 导入的
真实例子的系数:
【问题讨论】:
-
intEff函数来自哪个包?我们可以有一个minimal reproducible example 请...? -
它来自 DAMisc 包。我将尝试做一个最小的可重现示例。
-
截至 2020 年 3 月 20 日,上述示例适用于我(DAMisc 版本 1.6.2)
标签: r statistics binary-data glm economics