我想执行以下功能:
library(glmulti)
jmra <- function(fname){
mydata <- read.csv(fname)
myvars <- c('X1', 'X2', 'X3', 'X4', 'X5', 'X6')
formula <- paste('Y ~', paste(myvars, collapse='+'))
glmulti.lm.out <- glmulti(formula, data=mydata, level=1, method="h", crit="aicc", confsetsize=50, plotty=F, report=F, fitfunction='lm')
return(glmulti.lm.out)
}
test <- jmra('test.csv')
但是,我得到的是此错误消息:
glmulti中的错误(y = Y~X1 + X2 + X3 + X4 + X5 + X6:未找到对象'mydata'
有趣的是,如果相同的代码在此函数之外,一切正常。 那么这里发生了什么?
答案 0 :(得分:0)
这里已经提供了答案: error object not found when calling glmulti within a function
如果&#34; glmulti&#34;像这样调用,一切都按照:
glmulti.lm.out<- do.call("glmulti", list(formula, data=mydata, level=1, method="h", crit="aicc", confsetsize=50, plotty=F, report=F, fitfunction='lm'))