指定数据帧时,找不到数据帧外部的GLM预测器

时间:2016-08-05 07:29:13

标签: r glm

我在使用glm.nb包构建MASS对象时遇到问题(尽管我对常规GLM也有同样的问题)。公式中的响应和大多数预测变量都是data.daily中的列,但cb是使用dlnm包计算的交叉对象。

我对glm()的理解是,首先在data指定的对象的上下文中搜索公式组件,然后在公式所在的环境中搜索。公式({{1 }}和glm.formula属于同一环境,但cb报告无法找到glm()。这是怎么回事?

cb

我唯一能想到的是我在循环中调用Browse[1]> glm.obj = glm.nb(glm.formula, data = data.daily) Error during wrapup: object 'cb' not found Browse[1]> environment(glm.formula) NULL Browse[1]> environment(cb) NULL Browse[1]> glm.formula [1] "count_admitted ~ offset(log(pop)) + nowork + cb" Browse[1]> ls() [1] "cb" "data.daily" "glm.formula" "glm.list" "pred.list" ,而在循环开始之前计算glm.nb(),但我对R中范围的理解是大括号吗不创建新的仅限范围的功能。

1 个答案:

答案 0 :(得分:1)

我认为您不能将外部向量与指定为同一模型中的数据的data.frames组合在一起。尝试:

 glm.nb(glm.formula, data = cbind(cb = cb, data.daily))

这会将列附加到data.frame。