我正在尝试使用已发布的系数从外部验证逻辑模型。 举个例子,我想要帮助验证的模型是:
glm(outcome ~ sex + age + sex:age, family = "binomial")
性别是一个因素(例如,M 或 F),年龄是一个连续值。 系数为:
Intercept: -2.827381;
M sex: 0.286466741;
Age: -0.036205346;
sex*age: -0.151205539.
外部验证数据集是一个 mids(小鼠)100 个插补数据集,称为 impulated_data_outcomes。 所以我正在尝试的是:
model_linear_predictors <- expression(-2.827381 + (0.286466741*as.numeric(sex))+ (-0.036205346*age) + (-0.151205539*(as.numeric(sex)*age)))
linear_predictors <-with (imputed_data_outcomes, model_linear_predictors)
然后使用这些线性预测器来计算外部数据集等的预测概率。 然而,这一步不起作用,我相信这归因于性别*年龄系数的错误分配,因为如果我删除交互项,它就可以正常工作。
您能否建议处理此问题的正确方法?非常感谢提前
情绪化。
with(data, expr,..)
是使用数据上的表达式来进行计算,在本例中是预测。
expr
需要使用 data
中的列名进行定义,请参阅下面的示例:
> df <- data.frame(x=c(1, 2, 3, 4),
y=c(2, 2, 3, 4))
> with(df, x * y)
[1] 2 4 9 16