在 r 中的随机效应模型中求解给定 y = 0 的 x 值
Solve for x value given y = 0 in a random effects model in r
我有一个随机效应模型,该模型在给定参数粗糙度变化的情况下观察数值水温模型结果的平均偏差。粗糙度是x变量,mean_bias是y变量,流中的位置(1:9)是随机效应变量:
lmer_mb <- lmer(mean_bias ~ roughness + (1|location), data = W3T, REML=FALSE)
我试过在mean_bias = 0:
时使用approx()求粗糙度值
xval <- approx(roughness = lmer_mb$fitted, mean_bias = lmer_mb$roughness, xout = 0)$mean_bias
但我一直收到错误消息:
Error in approx(roughness = lmer_mb$fitted, mean_bias =
lmer_mb$roughness, : unused arguments (roughness = lmer_mb$fitted,
mean_bias = lmer_mb$roughness)
我还想在我的绘图上绘制 xval(一旦我弄清楚),并打算调整我在 Whosebug 上的另一个问题中找到的代码:
xval <- approx(x = fit$fitted.values, y = x, xout = 30)$y
我走在正确的轨道上吗?
我找到了解决这个问题所需的方法。我需要加载包
library(merTools)
然后我使用 wiggle 函数在我想要求解 x 的区域周围生成一个新的数据框:
opt2 <- wiggle(data=W3T, var="roughness", values = seq(0.05,0.1,0.001))
然后,我过滤了 opt2 以获得我想要的值并将它们变成一个列表:
sub.opt2 <- filter(opt2,mean_bias == "0")
sub.opt3 <- list(sub.opt2)
最后,使用 draw() 函数找到平均粗糙度:
opt.roughness <- draw(lmer_mb, type = 'average', varList = sub.opt3)
opt.roughness
我的解决方案基于我在此处找到的代码:
https://cran.r-project.org/web/packages/merTools/vignettes/merToolsIntro.html
我有一个随机效应模型,该模型在给定参数粗糙度变化的情况下观察数值水温模型结果的平均偏差。粗糙度是x变量,mean_bias是y变量,流中的位置(1:9)是随机效应变量:
lmer_mb <- lmer(mean_bias ~ roughness + (1|location), data = W3T, REML=FALSE)
我试过在mean_bias = 0:
时使用approx()求粗糙度值xval <- approx(roughness = lmer_mb$fitted, mean_bias = lmer_mb$roughness, xout = 0)$mean_bias
但我一直收到错误消息:
Error in approx(roughness = lmer_mb$fitted, mean_bias = lmer_mb$roughness, : unused arguments (roughness = lmer_mb$fitted, mean_bias = lmer_mb$roughness)
我还想在我的绘图上绘制 xval(一旦我弄清楚),并打算调整我在 Whosebug 上的另一个问题中找到的代码:
xval <- approx(x = fit$fitted.values, y = x, xout = 30)$y
我走在正确的轨道上吗?
我找到了解决这个问题所需的方法。我需要加载包
library(merTools)
然后我使用 wiggle 函数在我想要求解 x 的区域周围生成一个新的数据框:
opt2 <- wiggle(data=W3T, var="roughness", values = seq(0.05,0.1,0.001))
然后,我过滤了 opt2 以获得我想要的值并将它们变成一个列表:
sub.opt2 <- filter(opt2,mean_bias == "0")
sub.opt3 <- list(sub.opt2)
最后,使用 draw() 函数找到平均粗糙度:
opt.roughness <- draw(lmer_mb, type = 'average', varList = sub.opt3)
opt.roughness
我的解决方案基于我在此处找到的代码: https://cran.r-project.org/web/packages/merTools/vignettes/merToolsIntro.html