尝试将BLR模型拟合到数据框中的每一列,然后预测新数据点.有很多列,因此无法按名称识别列,只能列列号.回顾了本网站上几个类似性质的例子,无法弄清楚为什么这不起作用.
df <- data.frame(x1 = runif(1000, -10, 10),
x2 = runif(1000, -2, 2),
x3 = runif(1000, -5, 5),
y = rbinom(1000, size = 1, prob = 0.40))
for (i in 1:length(df)-1)
{
fit <- glm (y ~ df[,i], data = df, family = binomial, na.action = na.exclude)
new_pts <- data.frame(seq(min(df[,i], na.rm = TRUE), max(df[,i], na.rm = TRUE), len = 200))
names(new_pts) <- names(df[, i])
new_pred <- predict(fit, newdata = new_pts, type = "response")
}
Run Code Online (Sandbox Code Playgroud)
该predict()函数引发警告消息并返回数组1000个元素,而测试数据只有200个元素.
警告消息:警告消息:'newdata'有200行,找到的变量有1000行