代码和输出
> dredge(regional ~ national, foreign, tbili2_recip, data = s2)
Error in eval(.expr_beta_arg) : object 'foreign' not found
样本数据
s2 <- structure(list(regional = c(0, 0, 0, 0, 0, 1), national = c(0,
0, 0, 0, 0, 0), foreign = c(0, 0, 0, 0, 0, 0), tbili2_recip = c(1,
1, 0, 1, 0, 0), tbili16_recip = c(0, 0, 0, 0, 0, 0), tbili32_recip = c(0,
0, 0, 0, 0, 1), tbili33_recip = c(0, 0, 0, 0, 0, 0), tbil_don1 = c(0,
0, 0, 0, 0, 0), tbil_don18 = c(1, 0, 0, 0, 1, 0), tip = c(0,
0, 0, 0, 0, 0), wit70 = c(0, 0, 0, 0, 0, 0), wit80 = c(0, 0,
0, 0, 0, 0), wit90 = c(0, 0, 0, 0, 0, 0), wit91 = c(0, 0, 0,
0, 0, 0), weight_diff = c(-3, -9, -33, 18, -8, -26), weight45 = c(0,
0, 0, 0, 0, 0), weight70 = c(0, 0, 0, 0, 0, 0), weight_neg45 = c(0,
0, 0, 0, 0, 0), weight_neg70 = c(0, 0, 0, 0, 0, 0), work = c(0,
0, 0, 0, 0, 0)), row.names = c(NA, 6L), class = "data.frame")
我实际上正在尝试使用一些不同于此处显示的变量来执行此操作,但是所有变量都存在相同的问题。 有什么明显的我可以忽略的吗?变量都是数字的,并且在典型的lm()中起作用。
我没有碰运气就检查了关于stackoverflow的其他帖子。
答案 0 :(得分:1)
尝试一下:
model <- lm(regional ~ national + foreign + tbili2_recip, data=s2)
options(na.action = "na.fail")
dredge(model)
您首先需要拟合模型(我使用lm
是因为它是基本模型),然后可以将其用作dredge
的参数。
另外,如您在此处dredge function error - R package MuMln所见,您需要options(na.action = "na.fail")
才能使其正常工作。
最后,公式使用+
而不是,
,因此我们需要regional ~ national + foreign + tbili2_recip