标签: random-effects

从 mer 对象中提取观察次数和随机效应模式

我有一个mer创建的对象,调用 to lmer()

我可以获得随机效应,ranef()但我也希望每个随机效应都有相应数量的观察 - 有没有简单的方法来做到这一点?

附加信息:

上面我可能没有说清楚。举例来说,如果我有医院和随机拦截医院内聚集病人简单的2级车型,我想提取每个医院随机效应ranef() 一起与患者各医院内的号码。目前,我使用

ranef(fullmodel)[[1]]
Run Code Online (Sandbox Code Playgroud)

这给了我类似的东西:

     (Intercept)
ADE -0.108195883
BEJ -0.005761677
CIS  0.124129426
CMH  0.270879048
CSI  0.285344837
CUL  0.189308979
Run Code Online (Sandbox Code Playgroud)

我想得到类似的东西:

     (Intercept)  n
ADE -0.108195883  77
BEJ -0.005761677  171
CIS  0.124129426  201
CMH  0.270879048  39
CSI  0.285344837  171
CUL  0.189308979  131
Run Code Online (Sandbox Code Playgroud)

为此,我一直在使用

fullmodel <- glmer(.....+(1|hospital), data=dt1)

freqs <- as.data.frame(table(dt1$hospital))
freqs <- freqs[foo$Freq>0,]
Run Code Online (Sandbox Code Playgroud)

然后cbind将其添加到结果中ranef(fullmodel)[[1]]

然而,这似乎并不复杂并且容易出错。

r random-effects lmer

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

如何在R中预测具有随机效应的gam模型?

我正在研究gam具有随机效应的预测模型,以通过plot_ly.

这是我的代码;

x <- runif(100)
y <- runif(100)
z <- x^2 + y + rnorm(100)
r <- rep(1,times=100) # random effect
r[51:100] <- 2 # replace 1 into 2, making two groups
df <- data.frame(x, y, z, r)

gam_fit <- gam(z ~ s(x) + s(y) + s(r,bs="re"), data = df) # fit

#create matrix data for `add_surface` function in `plot_ly`
newx <- seq(0, 1, len=20)
newy <- seq(0, 1, len=30)
newxy <- expand.grid(x = newx, y …
Run Code Online (Sandbox Code Playgroud)

r predict gam random-effects plotly

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

执行线性混合模型方差分析和功效计算的非参数方法

我有一个小数据,其中有 3 组(A、B、C),每组有 5 名参与者。所有这些参与者在 7 项不同的考试中每项都被测量 6 次,因此每个参与者总共得到 6*7=42 分。建立了简单的线性混合模型mylmm<-lmer(score ~1+group+exam+group*exam+(1|participant), data = mydata)anova(mylmm)我可以使用多重比较函数获得分组、考试及其交互的方差分析结果和事后成对比较。

但数据量很小(只有5个参与者),残差mylmm也不正常,所以威力不足。我知道使用稳健的混合模型robustlmm和使用残差引导混合模型lmeresampler。但是,我无法使用这些方法进行方差分析和多重比较。有人可以帮我解决以下问题吗?真的很感激。

  1. 是否有方法和可用的 R 包来执行线性混合模型的引导方差分析(和事后比较)?
  2. 是否还需要计算引导程序或非参数方差分析的功效?如果可以的话,功率怎么计算呢?
  3. 我能够使用simranova 方法来计算测试组、考试和模型对象交互的功效lme。另外,simr还可以用于查找事后成对比较的功效还是emmeans应该使用?谢谢

r resampling anova random-effects mixed-models

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

R中具有许多自变量(固定效应)的非线性模型

我正在尝试拟合具有近50 个变量的非线性模型(因为存在年份固定效应)。问题是我有太多的变量,我无法像这样写出完整的公式

nl_exp = as.formula(y ~ t1*year.matrix[,1] + t2*year.matrix[,2] 
                        +... +t45*year.matirx[,45] + g*(x^d))
nl_model =  gnls(nl_exp, start=list(t=0.5, g=0.01, d=0.1))
Run Code Online (Sandbox Code Playgroud)

其中y是二元响应变量,year.matirx是 45 列的矩阵(表示 45 个不同的年份),x是自变量。需要估计的参数是t1, t2, ..., t45, g, d

我有很好的起始值t1, ..., t45, g, d。但是我不想为这个非线性回归写一个很长的公式。

我知道如果模型是线性的,则表达式可以简化为

l_model = lm(y ~ factor(year) + ...)
Run Code Online (Sandbox Code Playgroud)
  1. factor(year)gnls函数中尝试过,但它不起作用。
  2. 此外,我也尝试过

    nl_exp2 = as.formula(y ~ t*year.matrix + g*(x^d))

    nl_model2 = gnls(nl_exp2, start=list(t=rep(0.2, 45), g=0.01, d=0.1))

它还会返回我的错误消息。

那么,有没有简单的方法来写下非线性公式和 中的起始值R

r random-effects non-linear-regression

0
推荐指数
1
解决办法
398
查看次数

如何在R中指定随机因子?

如何在R中指定随机因子?

如果我有一个x1 应该是随机的因素,我可以试试这样的东西吗?

lm(y ~ x1, data = p)
Run Code Online (Sandbox Code Playgroud)

r random-effects nlme

-2
推荐指数
1
解决办法
5948
查看次数