标签: mixed-models

R: mixdist 包中的 mix() 返回错误

我已经在 R 中安装了 mixdist 包来组合发行版。具体来说,我正在使用该mix()功能。请参阅文档。 基本上,我得到

Error in nlm(mixlike, lmixdat = mixdat, lmixpar = fitpar, ldist = dist, : missing value in parameter

我用谷歌搜索了错误消息,但没有弹出任何有用的结果。

我的第一个参数mix()是一个名为 data.df 的数据框。它的格式与内置数据集 pike65 完全相同。我也这么做了data.df <- as.mixdata(data.df)

我的第二个参数有两行。它是一个名为 datapar 的数据框,其格式与 pikepar 完全相同。我的pi值是0.5和0.5。我的mu值为 250 和 463(基于我的数据集)。我的sigma值是0.5和1。

我的电话mix()看起来像:
fitdata <- mix(data.df, datapar, "norm", constr = mixconstr(consigma="CCV"), emsteps = 3, print.level = 2)

打印显示我的pi值在第一次迭代后从 0.5 变为 NaN,并且我的梯度变为 0。

如果您能帮助解决此错误,我将不胜感激。

谢谢,

r normal-distribution nlm mixed-models

4
推荐指数
2
解决办法
1600
查看次数

lmer 模型的标准化系数

我曾经使用下面的代码来计算lmer模型的标准化系数。但是,随着 lme 的新版本,返回对象的结构发生了变化。

如何调整功能stdCoef.lmer使其与新lme4版本兼容?

# Install old version of lme 4
install.packages("lme4.0", type="both",
                 repos=c("http://lme4.r-forge.r-project.org/repos",
                         getOption("repos")[["CRAN"]]))

# Load package
detach("package:lme4", unload=TRUE)
library(lme4.0)

# Define function to get standardized coefficients from an lmer
# See: https://github.com/jebyrnes/ext-meta/blob/master/r/lmerMetaPrep.R
stdCoef.lmer <- function(object) {
  sdy <- sd(attr(object, "y"))
  sdx <- apply(attr(object, "X"), 2, sd)
  sc <- fixef(object)*sdx/sdy
  #mimic se.ranef from pacakge "arm"
  se.fixef <- function(obj) attr(summary(obj), "coefs")[,2]
  se <- se.fixef(object)*sdx/sdy
  return(list(stdcoef=sc, stdse=se))
}

# Run model
fm0 <- lmer(Reaction ~ …
Run Code Online (Sandbox Code Playgroud)

multi-level mixed-models lmer coefficients

4
推荐指数
1
解决办法
5309
查看次数

重复测量ANOVA:ezANOVA与aov vs. lme语法

这个问题是关于语法和语义的,因此请在Cross-Validated上找到一个(但尚未答复的)副本:https://stats.stackexchange.com/questions/113324/repeated-measures-anova-ezanova-vs-aov-vs -lme语法

在机器学习领域,我在相同的5个数据集上评估了4个分类器,即每个分类器返回数据集1,2,3,...和5的性能度量.现在我想知道分类器是否在它们的显着不同性能.这是一些玩具数据:

Performance<-c(2,3,3,2,3,1,2,2,1,1,3,1,3,2,3,2,1,2,1,2)
Dataset<-factor(c(1,2,3,4,5,1,2,3,4,5,1,2,3,4,5,1,2,3,4,5))
Classifier<-factor(c(1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4))
data<-data.frame(Classifier,Dataset,Performance)
Run Code Online (Sandbox Code Playgroud)

在教科书之后,我进行了重复测量的单因素方差分析.我将我的表现解释为因变量,将分类器解释为主体,将数据集解释为主体内因子.使用aov,我得到了:

model <- aov(Performance ~ Classifier + Error(factor(Dataset)), data=data)
summary(model)
Run Code Online (Sandbox Code Playgroud)

产生以下输出:

Error: factor(Dataset)
           Df Sum Sq Mean Sq F value Pr(>F)
Residuals  4    2.5   0.625               

Error: Within
            Df Sum Sq Mean Sq F value Pr(>F)  
Classifier  3    5.2  1.7333   4.837 0.0197 *
Residuals  12    4.3  0.3583 
Run Code Online (Sandbox Code Playgroud)

使用线性混合效果模型时,我得到类似的结果:

model <- lme(Performance ~ Classifier, random = ~1|Dataset/Classifier,data=data)
result<-anova(model)
Run Code Online (Sandbox Code Playgroud)

然后,我尝试用ezANOVA重现结果,以便对Sphericity执行Mauchlys测试:

 ezANOVA(data=data, dv=.(Performance), wid=.(Classifier), within=.(Dataset), detailed=TRUE, type=3)
Run Code Online (Sandbox Code Playgroud)

产生以下输出:

        Effect DFn DFd  SSn SSd         F …
Run Code Online (Sandbox Code Playgroud)

syntax r anova mixed-models nlme

4
推荐指数
1
解决办法
5838
查看次数

等级不足警告混合模型lmer

我有一个包含 142 个数据条目的数据集:121 个人在两次测量(两年,治疗前后,年份 = 0 或 1),在第二年 46 个人在处理地块中,其余的在控制地块中(处理= 0 或 1)。以下是一些示例数据:

ID <- c("480", "480", "620", "620","712","712")
Year <- c("0", "1", "0", "1","0", "1")
Plot <- c("14", "14", "13", "13","20","20")
Treat <- c("0", "0", "0", "1", "0", "1")
Exp <- c("31", "43", "44", "36", "29", "71")
ExpSqrt <- c("5.567764", "6.557439", "6.633250", "6.000000", "5.385165", "8.426150")

Winter <- data.frame(ID, Year, Plot, Treat,
                  Exp, ExpSqrt,
                  stringsAsFactors = TRUE) 
Run Code Online (Sandbox Code Playgroud)

情节和个人是随机因素,我试图拟合一个混合模型来确定年份、治疗和它们之间的相互作用的影响:

model_Exp <- lmer(ExpSqrt~Year+Treat+Year*Treat+(1|ID)+(1|Plot),data=Winter)
Run Code Online (Sandbox Code Playgroud)

但我不断收到警告信息:

"fixed-effect model matrix is rank deficient so dropping …
Run Code Online (Sandbox Code Playgroud)

r rank lme4 mixed-models

4
推荐指数
1
解决办法
4974
查看次数

错误:无效的分组因子规范

我正在尝试使用glmer模型珊瑚招募并在重新调整变量后运行模型时出现错误"错误:无效的分组因子规范,站点".非常感谢

m1<-glmer(Tot~cs.Tile(Tile)+cs.Coral_T(Coral_T)+cs.Sponge(Sponge)+
cs.Turf(Turf)+cs.Acro(Acro)+cs.Por(Por)+cs.Poc(Poc)+
cs.Mer(Mer)+cs.Agar(Agar)+cs.Fav(Fav)+
cs.Den(Den)+cs.Sid(Sid)+cs.CCA(CCA)+cs.Soft(Soft)+
  (1|Site), 
family=poisson, data=data)
Run Code Online (Sandbox Code Playgroud)

我有16个变量和368个obs:

str(data)
'data.frame':   368 obs. of  16 variables:
 $ Site   : Factor w/ 25 levels "Eight","Eighteen",..: 10 10 10 10 10 10 10 10 10 10 ...
 $ Tile   : int  1 2 3 4 5 6 7 8 9 10 ...
 $ Tot    : int  28 24 17 13 29 19 6 13 14 4 ...
 $ Coral_T: num  32.6 32.6 32.6 32.6 32.6 ...
 $ Sponge : num …
Run Code Online (Sandbox Code Playgroud)

r lme4 mixed-models

4
推荐指数
1
解决办法
7945
查看次数

如何检查和控制纵向数据混合效应模型中的自相关?

我拥有多组鸟类超过 10 天的观察行为数据。我想调查某些行为是否存在时间模式(例如,配偶竞争是否会随着时间的推移而增加?)并且我被告知必须考虑数据的自相关性,因为行为不可能每天都是独立的。

不过我想知道两件事:

  1. 由于我对 y 之间的差异不感兴趣,而是对 y 随天变化的趋势感兴趣,所以我还需要校正自相关吗?

  2. 如果是,我如何控制自相关,以便只留下信号(当然还有噪声)?

对于第二个问题,请记住,我将使用 R 中的混合模型来分析时间对行为的影响(因为存在伪复制等随机效应),但我还没有找到任何纠正自相关的直接方法对响应进行建模时的数据。

r time-series temporal mixed-models longitudinal

4
推荐指数
1
解决办法
7054
查看次数

每个物种使用多个条目的系统发育模型

我对系统发育回归模型比较陌生。过去,当我的树中每个物种只有 1 个条目时,我使用了 PGLS。现在我有一个包含总共 9 个物种的数千条记录的数据集,我想运行一个系统发育模型。我阅读了最常见软件包(例如 caper)的教程,但我不确定如何构建模型。

当我尝试为雀跃创建对象时,即使用:

obj <- comparative.data(phy = Tree, data = Data, names.col = species, vcv = TRUE, na.omit = FALSE, warn.dropped = TRUE)
Run Code Online (Sandbox Code Playgroud)

我收到消息:

row.names<-.data.frame( *tmp*, value = value) 中的错误:不允许重复的“row.names”此外:警告消息:设置“row.names”时的非唯一值:“Species1”、“Species2”、“Species3”、“Species4” '、'物种 5'、'物种 6'、'物种 7'、'物种 8'、'物种 9'

我知道我可以通过应用 MCMCglmm 模型来解决这个问题,但我不熟悉贝叶斯模型。

在此先感谢您的帮助。

mixed-models phylogeny

4
推荐指数
1
解决办法
799
查看次数

mgcv_1.8-24:bam() 的“fREML”或“REML”方法给出了错误的解释偏差

使用方法“fREML”和“REML”拟合相同的模型bam给了我接近的结果,但解释的偏差与返回的相当不同summary.gam

使用“fREML”时,数量约为 3.5%(不好),而使用“REML”时,数量约为 50%(还不错)。怎么可能?哪一个是正确的?

不幸的是,我无法提供一个简单的可重现的示例。

#######################################
## method = "fREML", discrete = TRUE ##
#######################################

Family: binomial 
Link function: logit 
Formula:
ObsOrRand ~ s(Var1, k = 3) + s(RandomVar, bs = "re")  
Parametric coefficients:
            Estimate Std. Error z value Pr(>|z|) 
(Intercept)  -5.0026     0.2199  -22.75   <2e-16  
Approximate significance of smooth terms:
                  edf Ref.df Chi.sq  p-value 
s(Var1)          1.00  1.001  17.54 2.82e-05 
s(RandomVar)     16.39 19.000 145.03  < 2e-16  
R-sq.(adj) =  0.00349   Deviance explained = 3.57%
fREML = 2.8927e+05  Scale …
Run Code Online (Sandbox Code Playgroud)

regression r gam mixed-models mgcv

4
推荐指数
1
解决办法
1681
查看次数

使用 emtrends 获取简单效果的显着性

我可以通过下面的代码得到两两比较的意义

m <- lmer(angle ~ recipe*temp + (1|replicate), data=cake)
emtrends(m, pairwise~recipe, var="temp")

$emtrends
 recipe temp.trend         SE  df   lower.CL  upper.CL
 A       0.1537143 0.02981898 250 0.09498586 0.2124427
 B       0.1645714 0.02981898 250 0.10584300 0.2232999
 C       0.1558095 0.02981898 250 0.09708110 0.2145379

$contrasts
 contrast     estimate        SE  df t.ratio p.value
 A - B    -0.010857143 0.0421704 250  -0.257  0.9641
 A - C    -0.002095238 0.0421704 250  -0.050  0.9986
 B - C     0.008761905 0.0421704 250   0.208  0.9765
Run Code Online (Sandbox Code Playgroud)

但是,如果我对每个趋势recipe本身是否重要感兴趣怎么办?我怎样才能得到 的意义$emtrends

r lme4 mixed-models emmeans

4
推荐指数
1
解决办法
3131
查看次数

如何使用rstanarm以APA风格报告贝叶斯线性(混合)模型?

我目前正在努力解决如何按照APA-6建议报告的结果rstanarm::stan_lmer().

首先,我将在频率论方法中使用混合模型,然后尝试使用贝叶斯框架进行相同的操作.

以下是获取数据的可重现代码:

library(tidyverse)
library(neuropsychology)
library(rstanarm)
library(lmerTest)

df <- neuropsychology::personality %>% 
  select(Study_Level, Sex, Negative_Affect) %>% 
  mutate(Study_Level=as.factor(Study_Level),
         Negative_Affect=scale(Negative_Affect)) # I understood that scaling variables is important
Run Code Online (Sandbox Code Playgroud)

现在,让我们以"传统"的方式拟合线性混合模型来测试性别(男/女)对负面情绪(负面情绪)的影响,以及研究水平(教育年限)作为随机因素.

fit <- lmer(Negative_Affect ~ Sex + (1|Study_Level), df)
summary(fit)
Run Code Online (Sandbox Code Playgroud)

输出如下:

Linear mixed model fit by REML t-tests use Satterthwaite approximations to degrees of
  freedom [lmerMod]
Formula: Negative_Affect ~ Sex + (1 | Study_Level)
   Data: df

REML criterion at convergence: 3709

Scaled residuals: 
     Min       1Q   Median       3Q      Max 
-2.58199 -0.72973  0.02254  0.68668  2.92841 …
Run Code Online (Sandbox Code Playgroud)

r bayesian mixed-models stan rstan

3
推荐指数
1
解决办法
735
查看次数