【发布时间】:2019-10-15 09:49:52
【问题描述】:
目的是根据多元回归模型预测新的观察结果。
该模型包括两个因素(“ec”与效果编码,“dc”与虚拟编码)和一个数字变量(“num”)加上“ec”和“num”的交互项。
但是,基于新数据的 predict.lm 函数失败了。
# Dependent variable
y <- rnorm(12, 50, 10)
# Independent variables
# Dummy coding
dc <- factor(x=c("Schlecht", "Gut", "Mittel", "Schlecht", "Gut", "Mittel", "Schlecht", "Gut", "Mittel", "Schlecht", "Gut", "Mittel"))
contrasts(dc) <- contr.treatment(3, 1)
# Effect coding
ec <- factor(x=c("A", "B", "C", "D", "A", "B", "C", "D", "A", "B", "C", "D"))
contrasts(ec) <- contr.sum(4)
num <- rnorm(12, 10, 2)
# Design matrix
df <- data.frame(dc = dc, ec = ec, num = num)
lm_dm <- model.matrix(~ 1 + ec + dc * num, df)
lm <- lm(y ~ 0 + lm_dm)
# prediction
newdata <- data.frame(dc = c("Schlecht", "Gut", "Gut"), ec = c("C", "D", "B"), num = c(9, 8, 12))
predict.lm(lm, newdata)
如何使用估计的模型进行新的预测?
【问题讨论】:
标签: r regression lm predict categorical-data