简体   繁体   English

在 glmulti 中定义一个包装器 function

[英]Defining a wrapper function in glmulti

I am new to R scripting and I would like to run glmulti with a wrapper function for a negative binomial family with offset.我是 R 脚本的新手,我想使用包装器 function 运行 glmulti,以获得带有偏移的负二项式系列。 I would like advice on the following code since I am getting an error message.由于收到错误消息,因此我想就以下代码提出建议。 Variables a,b and c are factors and da covariate.变量 a、b 和 c 是因子和协变量。 Variable e is used as an offset.变量 e 用作偏移量。

glmnb.glmulti <- function(formula, data, offset, ...)
  glm.nb(formula, offset=offset, data=data, ...)

selection<- glmulti(y~ a + b + c + d,level=2, 
fitfunction=glmnb.glmulti, offset=log(e), crit="aic")

Initialization...
 Error in model.frame.default(formula = formula, data = data, offset = offset,  : 
  invalid type (closure) for variable '(offset)' 

Any advice would be much appreciated.任何建议将不胜感激。

Thank you a lot!十分感谢! I also tried the following and it also worked我也尝试了以下方法,它也有效

eqt <- as.formula(y~ a + b + c + d) eqt <- as.formula(y~ a + b + c + d)

glmnb <- function(formula, data, weights, ...) glm.nb(formula, data=data, weights=offset(log(e)), ...) glmnb <- 函数(公式,数据,权重,...) glm.nb(公式,数据=数据,权重=偏移(log(e)),...)

selection <- glmulti(eqt, data=data, fitfunction=glmnb, crit = "aic")选择 <- glmulti(eqt, data=data, fitfunction=glmnb, crit = "aic")

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM