如何处理R中的GLM系数?
如何操作GLM对象以绕过此错误?对于predict,我希望将看不见的水平视为基本情况(即,给它们一个零系数)如何处理R中的GLM系数?,r,R,如何操作GLM对象以绕过此错误?对于predict,我希望将看不见的水平视为基本情况(即,给它们一个零系数) >master part.1 part.2 model.2 predict.1 model.2$xlevels$x predict.1我不同意你应该期待任何预测。您开发的模型中没有x变量是值为“C”的因子的项目,因此您不应该期望任何预测。你预测1:5的努力也应该失败。如果你知道x='C'的行为与x='A'完全一样,那么你可以: > part.1$x <- factor(rep
>master part.1 part.2 model.2 predict.1 model.2$xlevels$x predict.1我不同意你应该期待任何预测。您开发的模型中没有x变量是值为“C”的因子的项目,因此您不应该期望任何预测。你预测1:5的努力也应该失败。如果你知道x='C'的行为与x='A'完全一样,那么你可以:
> part.1$x <- factor(rep("A",nrow(part.1)),levels=c("A","B"))
> predict(model.2, part.1)
>第1部分$x预测(模型2第1部分)
这将为您提供纯拦截模型。Hmm。这可以通过黑客攻击实现,但相当棘手。你能提供更多的背景吗?基本上,我是根据协变量建立两个独立的预测模型。如果我可以对整个数据集进行这些模型预测,而不仅仅是建模的一半,这将大大简化我的评分和评估代码。你所做的没有意义。用于预测的数据不包含x=C
。因此,对于x=C
的情况,您无法使用它来预测y
。这就像建立一个工作日的销售模型,并要求它预测周末的销售。如果您希望将数据集分为校准样本和验证样本,那么您需要这样做,即两个样本都包含相似的协变量分布。您过于关注原因。假设我知道先前研究或模型中的系数,出于某种原因,我无法将它们抵消到模型中?这似乎是最好的方法。
> model.2$xlevels$x <- c(model.2$xlevels, "C")
> predict.1 <- predict(model.2, part.1)
> predict.1[1:5]
2 3 6 8 10
0.03701494 0.03701494 0.03701494 0.03701494 0.03701494
> summary(model.2)
Call:
glm(formula = y ~ x, data = part.2)
<snip>
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.12743 0.18021 0.707 0.482
xB -0.09042 0.23149 -0.391 0.697
> part.1$x <- factor(rep("A",nrow(part.1)),levels=c("A","B"))
> predict(model.2, part.1)