这个问题以前被问过
here
和
here
,但对我的问题没有帮助的答案。我的数据集中没有丢失的数据,正在尝试创建一个
model.matrix
来自
model.frame
. 以下是一个可复制的示例:
dat = data.frame(x = rep(1:3, each = 5),
y = rnorm(15),
z = rep(c(1,1.1,1.3), each = 5))
# this works
mt = model.matrix(model.frame(lm(y ~ x,dat)))
# this produces the error
mt = model.matrix(model.frame(lm(y ~ x + z,dat)))
为什么以及如何解决这个问题?或者,如何以另一种有效且稳健的方式获得包含截距列的右侧值矩阵?