与范围相关的(?):创建的混合效果模型列表中的anova()

特拉班特耶

在使用进行混合效果建模的项目中lme,我试图比较具有不同相关结构和相等固定部分的模型。由于我将构建许多模型(针对不同的因变量),因此我尝试编写一个函数以生成具有不同相关结构的模型列表,如下面的示例所示(我实际上试图将其保持在最低限度)工作示例)。

如果我运行此列表中的元素,这个作品方差分析(),但fixedPart是我的全球环境。为什么会这样呢?有没有办法解决这个问题,以便我可以保留m并重新使用/删除fixedPart

我认为这个问题与R中的(词法)作用域有关,但是我找不到真正解决它的方法。

提前致谢!

#Dependencies
library(multilevel)
library(multcomp)

#Generate sample data
nVals = 100
sData = rnorm(nVals, mean = 1, sd = 1)
dF <- data.frame(nSubject = 1:nVals, 
                 v1data = sData + rnorm(nVals, mean = 0, sd = 0.1),
                 v2data = sData + rnorm(nVals, mean = 0, sd = 0.1),
                 v3data = sData + rnorm(nVals, mean = 0, sd = 0.4))
dLongF = reshape(data=dF, varying=c("v1data","v2data","v3data"), v.names='data', direction="long", idvar="nSubject", times=1:3)

#Define function to assess different covariance structures
doAllCorrModels <- function(dataF, subjVarName, visitVarName, fixedPart){
    mList <- vector("list",2)
    mList[[1]] <- lme(fixedPart, #Random intercept, homogeneous variance
             random=as.formula(paste("~1|", subjVarName)),
             data=dataF,
             weights=NULL)
    mList[[2]] <- lme(fixedPart, #Random intercept, heterogeneous variance
             random=as.formula(paste("~1|", subjVarName)),
             data=dataF,
             weights=varIdent(form = as.formula(paste("~1|", visitVarName)))
    )
    mList
}

#Get different covariance structures
dataF <- dLongF
subjVarName <- "nSubject"
visitVarName <- "time"
fixedPart <- data ~ time
m <- doAllCorrModels(dataF, subjVarName, visitVarName, fixedPart)

#This works:
a1 <- anova(m[[1]], m[[2]])

#But this does not:
rm(fixedPart)
a2 <- anova(m[[1]], m[[2]])
罗兰

您可以使用do.call以下方法避免这种情况

doAllCorrModels <- function(dataF, subjVarName, visitVarName, fixedPart){
  mList <- vector("list",2)
  mList[[1]] <- do.call(lme, list(fixed = fixedPart,
                                  random=as.formula(paste("~1|", subjVarName)),
                                  data=dataF,
                                  weights=NULL))

  mList[[2]] <- do.call(lme, list(fixed = fixedPart,
                                  random=as.formula(paste("~1|", subjVarName)),
                                  data=dataF,
                                  weights=varIdent(form = as.formula(paste("~1|", visitVarName)))))
  mList
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从混合模型中删除所有固定效果

来自分类Dev

从metafor中的混合效果多级模型获得R平方

来自分类Dev

R:在混合模型效果中绘制RANEF

来自分类Dev

在Django中批量创建相关模型

来自分类Dev

Rails查询,基于不相关模型中的范围

来自分类Dev

加强相关模型的创建

来自分类Dev

在Django中创建模型时自动创建相关对象

来自分类Dev

在Django中创建模型时自动创建相关对象

来自分类Dev

使用Stata了解混合效果模型的代码

来自分类Dev

将时间序列合并到R中的混合效果模型中(使用lme4)

来自分类Dev

新手在 R studio 中尝试线性混合效果模型 - 完全失败

来自分类Dev

在模型的__str__中获取相关对象的列表

来自分类Dev

更新表单中的yii框架显示相关模型列表(admin)

来自分类Dev

Django:如何正确显示相关模型中的对象列表?

来自分类Dev

Entity Framework Core应用程序-如何在创建和编辑页面中显示从相关模型填充到当前模型的下拉列表

来自分类Dev

在骨干木偶中为相关模型创建新实体

来自分类Dev

strongloop在afterRemote方法中创建相关的模型对象

来自分类Dev

在Backbone Marionette中为相关模型创建新实体

来自分类Dev

strongloop在afterRemote方法中创建相关的模型对象

来自分类Dev

使用相关对象中的数据创建模型实例

来自分类Dev

在Laravel 5.3中创建相关模型实例时出错

来自分类Dev

在 Laravel 中获取与创建模型输入相关的错误

来自分类Dev

Rails 在创建 form_for 中引用相关模型 ID

来自分类Dev

在R中设置混合效果模型时,该模型如何应用于循环指定的所有变量?

来自分类Dev

使用R中的渐变包为线性混合模型指定相关结构

来自分类Dev

仅按日期范围选择相关模型并序列化为嵌套列表

来自分类Dev

如何从python字典列表中创建范围?

来自分类Dev

如何使用broom :: tidy()从lme4 :: lmer()创建的线性混合效果模型中计算p值?

来自分类Dev

在Rails中创建基于YAML的列表与模型

Related 相关文章

  1. 1

    从混合模型中删除所有固定效果

  2. 2

    从metafor中的混合效果多级模型获得R平方

  3. 3

    R:在混合模型效果中绘制RANEF

  4. 4

    在Django中批量创建相关模型

  5. 5

    Rails查询,基于不相关模型中的范围

  6. 6

    加强相关模型的创建

  7. 7

    在Django中创建模型时自动创建相关对象

  8. 8

    在Django中创建模型时自动创建相关对象

  9. 9

    使用Stata了解混合效果模型的代码

  10. 10

    将时间序列合并到R中的混合效果模型中(使用lme4)

  11. 11

    新手在 R studio 中尝试线性混合效果模型 - 完全失败

  12. 12

    在模型的__str__中获取相关对象的列表

  13. 13

    更新表单中的yii框架显示相关模型列表(admin)

  14. 14

    Django:如何正确显示相关模型中的对象列表?

  15. 15

    Entity Framework Core应用程序-如何在创建和编辑页面中显示从相关模型填充到当前模型的下拉列表

  16. 16

    在骨干木偶中为相关模型创建新实体

  17. 17

    strongloop在afterRemote方法中创建相关的模型对象

  18. 18

    在Backbone Marionette中为相关模型创建新实体

  19. 19

    strongloop在afterRemote方法中创建相关的模型对象

  20. 20

    使用相关对象中的数据创建模型实例

  21. 21

    在Laravel 5.3中创建相关模型实例时出错

  22. 22

    在 Laravel 中获取与创建模型输入相关的错误

  23. 23

    Rails 在创建 form_for 中引用相关模型 ID

  24. 24

    在R中设置混合效果模型时,该模型如何应用于循环指定的所有变量?

  25. 25

    使用R中的渐变包为线性混合模型指定相关结构

  26. 26

    仅按日期范围选择相关模型并序列化为嵌套列表

  27. 27

    如何从python字典列表中创建范围?

  28. 28

    如何使用broom :: tidy()从lme4 :: lmer()创建的线性混合效果模型中计算p值?

  29. 29

    在Rails中创建基于YAML的列表与模型

热门标签

归档