Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在r.squaredGLMM中找不到错误对象,在r中的函数中包含glmer_R_Lme4_Mumin - Fatal编程技术网

在r.squaredGLMM中找不到错误对象,在r中的函数中包含glmer

在r.squaredGLMM中找不到错误对象,在r中的函数中包含glmer,r,lme4,mumin,R,Lme4,Mumin,我试图编写一个函数,用glmer从R中的广义线性混合模型计算R^2。在尝试使用该函数时,我发现一个错误: Error in checkFormulaData(formula, data, checkLHS = control$check.formula.LHS == : bad 'data': object 'input_data' not found 如果我使用相同的代码而没有函数,一切都很好。为了测试函数中的r.squaredGLMM是否存在一般问题,我还为线性混合模型创建了一个函数,

我试图编写一个函数,用glmer从R中的广义线性混合模型计算R^2。在尝试使用该函数时,我发现一个错误:

Error in checkFormulaData(formula, data, checkLHS = control$check.formula.LHS ==  :  bad 'data': object 'input_data' not found
如果我使用相同的代码而没有函数,一切都很好。为了测试函数中的r.squaredGLMM是否存在一般问题,我还为线性混合模型创建了一个函数,该函数按预期工作

以下是一个可复制的示例:

library(lme4)
library(MuMIn)


#Generate some sample data
x <- rnorm(100)
y1 <- sample(c(0,1), 100, replace = TRUE)
y2 <- rnorm(100)
subject <- rep(1:10, 10)

df <- data.frame(x,y1,y2,subject)

#Calculate glmer and get the R^2
mod1_outside_function <- glmer(y1 ~ x + (1|subject), data = df,family="binomial")

#Works just fine
R2 <- r.squaredGLMM(mod1_outside_function)
print(R2)

#Create a function to get the R2
R2_glmer <- function(input_data)
{
  glmer_inside_function <- glmer(y1 ~ x + (1|subject), data = input_data,family="binomial")

  R2 <- r.squaredGLMM(glmer_inside_function)

  print(R2)

}

#I get the error running this:
R2_glmer(input_data = df)


#The same function works with lmer:
R2_lmer <- function(input_data)
{

  lmer_inside_function <- lmer(y2 ~ x + (1|subject), data = input_data)

  R2 <- r.squaredGLMM(lmer_inside_function)

  print(R2)

}

R2_lmer(input_data = df)

这是一个在非全局环境中评估空模型的错误。它现在应该可以在R-forge上使用MuMIn版本>=1.42.4。要解决此问题,您可以提供null模型作为第二个参数:

r.squaredGLMM(glmer_inside_function, null.fit(glmer_inside_function, RE.keep = TRUE, evaluate = TRUE))

很好用!谢谢