【发布时间】:2015-05-28 04:23:36
【问题描述】:
我正在逐块运行大型数据集,并在使用 biglm 函数时更新线性模型列表。当特定块不包含我的线性模型中的所有因素时会出现此问题,并且我收到此错误:
Error in update.biglm(model, new) : model matrices incompatible
update.biglm 的描述提到所有块的因子级别必须相同。我可能会想出一个解决方法来避免这种情况,但必须有更好的方法。 This pdf,在 'biglm' 页面上,提到“因素必须有完整的等级 指定(不一定存在于数据块中)”。所以我认为有一些方法可以指定所有可能的级别,这样我就可以在不存在所有因素的情况下更新模型,但我不知道该怎么做.
这是一个示例代码来说明我的问题:
df = data.frame(a = rnorm(12),b = as.factor(rep(1:4,each = 3)),c = rep(0:1,6))
model = biglm(a~b+c,data = df
df.new = data.frame(a = rnorm(6),b = as.factor(rep(1:2,each = 3)),c =rep(0:1, 3))
model.new = update(model,df.new)
感谢您的任何建议。
【问题讨论】:
标签: r bigdata regression lm