未找到用于引导的预测变量

问题描述 投票:0回答:1

我必须在 MASS 的“birthwt”数据集上引导逻辑回归模型。但是,当我运行引导程序代码时,出现以下错误

eval(predvars, data, env) 中的错误:未找到对象“low”

我不明白为什么会收到此错误,因为“low”是模型中的变量名称之一。

为什么我会收到此错误?如有任何反馈,我们将不胜感激!

data(birthwt, package = "MASS")

data <- as.data.frame(birthwt)
# converting predictor variable into factor
data$low <- as.factor(data$low)

pmod <- glm(low ~ . - bwt - age - ftv, data = data, family = binomial)
boot_results <- car::Boot(pmod, R = 100)
r statistics-bootstrap
1个回答
0
投票

我只使用过

boot:boot
函数进行引导,但是查看
car::Boot
的帮助页面,它指出:

“此函数为

boot
包中的
boot
函数提供了一个简单的前端,该函数专为基于回归模型的引导而定制......”

我熟悉

boot
包 - 所以使用
boot::boot
的漫长方法是首先定义用于引导的逻辑回归,然后引导该函数:

boot_logreg <- function(my_data, indices) {
  coef(glm(low ~ . - bwt - age - ftv, data = my_data[indices, ], family = binomial))
}

set.seed(123)  # Seed for reproducibility, not required
boot_results <- boot::boot(data, boot_logreg, R = 1000)

# ORDINARY NONPARAMETRIC BOOTSTRAP
# 
# Call:
# boot::boot(data = data, statistic = boot_logreg, R = 1000)

# Bootstrap Statistics :
#        original       bias    std. error
# t1* -0.80364418  0.070440226 1.238398503
# t2* -0.01294747 -0.001190249 0.008038214
# t3*  0.46913122  0.012766086 0.228166001
# t4*  0.94817154  0.021266241 0.426519541
# t5*  0.49145146  0.050717609 0.450790533
# t6*  1.83315979  0.198129583 1.311930532
# t7*  0.74793544  0.027657403 0.559801377
© www.soinside.com 2019 - 2024. All rights reserved.