首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何从R包小鼠运行的模型中获得拟合值

如何从R包小鼠运行的模型中获得拟合值
EN

Stack Overflow用户
提问于 2019-09-02 09:04:07
回答 2查看 887关注 0票数 1

我已经写了一个具有八个固定效果和两个随机效果的GLMM。我的两个修复效果包含缺失的数据,因此我使用R包MICE来估算缺失的值。

我想用我的模型中拟合的值和实际的观测值创建一个图表。如果我没有丢失数据,并且使用了lme4包来运行我的模型,我会简单地使用get ()函数来获得模型的拟合值。然而,由于我使用的是老鼠,我不确定如何为我的模型获得拟合值。当我使用函数the ()时,它返回“NULL”,而不是拟合值的向量。

我一直在互联网上搜寻,试图找到一个例子,在这个例子中,其他人在使用鼠标估计丢失的数据并运行GLMM后,获得了拟合值的向量,但我什么也找不到……

有没有人知道这个函数或从我的模型中计算拟合值的方法,该模型是使用MICE软件包运行的?或者推荐另一种可能对你有帮助的资源?

先谢谢你,奥利维亚

EN

回答 2

Stack Overflow用户

发布于 2019-09-02 10:10:20

如果没有一个有效的例子,就很难弄清楚你到底遇到了什么。

然而,这里是一个使用micelme4包的例子,用lmer拟合一个(无意义的)模型。

代码语言:javascript
运行
AI代码解释
复制
require(mice)
require(lme4)

dt <- mice(nhanes2, seed = 314)

mod <- with(dt, lme4::lmer(bmi ~ chl + (1 | hyp)))

summary(pool(mod))

提供:

代码语言:javascript
运行
AI代码解释
复制
Class: mipo    m = 5 
               estimate         ubar            b            t dfcom       df       riv    lambda       fmi
(Intercept) 21.74573850 14.857649384 2.799244e+00 1.821674e+01    21 13.85172 0.2260850 0.1843959 0.2811936
chl          0.02574043  0.000379629 7.879048e-05 4.741775e-04    21 13.36442 0.2490552 0.1993949 0.2972420

将模型拟合到列表列中,并提取每个补偿集合的拟合值。然后取拟合值的平均值,作为汇集这些拟合值的一种方法。不过,我不确定这是否是推荐的拟合值池化方式。另请参阅:https://github.com/stefvanbuuren/mice/issues/82获取一些专家建议。

代码语言:javascript
运行
AI代码解释
复制
dt %>%
  mice::complete(action = "long", include = FALSE) %>%
  group_by(.imp) %>%
  nest(.key = dt) %>%
  mutate(mod = map(dt, ~ lmer(formula =  bmi ~ chl + (1 | hyp), data = .x))) %>%
  mutate(fitted = map(mod, ~ data.frame(fitted = fitted(.x), id = seq_along(fitted(.x))))) %>%
  select(.imp, fitted) %>%
  unnest() %>%
  group_by(id) %>%
  summarise(fitted = mean(fitted))

提供:

代码语言:javascript
运行
AI代码解释
复制
# A tibble: 25 x 2
      id fitted
   <int>  <dbl>
 1     1   27.1
 2     2   26.6
 3     3   26.6
 4     4   27.1
 5     5   24.7
 6     6   26.5
 7     7   24.8
 8     8   26.6
 9     9   27.9
10    10   27.0
# ... with 15 more rows
票数 1
EN

Stack Overflow用户

发布于 2019-09-02 12:24:46

MICE-imputation方法的不确定性由多个产生的推算数据集来表示。作为回归的计算需要与“鲁宾规则”合并。在mice::pool(.)方法中只实现了简单的lmglm方法。您可能需要自己编写一些代码来汇集,例如随机效果的计算,就像您可能使用lme4所做的那样。你可以在唐纳德·鲁宾( Rubin )的唐纳德·B( Donald B. )中找到所需的公式。纽约:威利,1987 on page 76

但是,如果您的模型不是那么复杂,您可以将不同估算的拟合值组合到一个图中,并用颜色将它们分开。

示例1

代码语言:javascript
运行
AI代码解释
复制
library(mice)
iris.mice <- complete(mice(iris.mis), "long")
with(iris.mice, plot(Petal.Length, lm(Petal.Length ~ Sepal.Width + Petal.Width)$fitted,
                     type="n", xlab="imp.actual", ylab="imp.yhat", main="Petal.Length"))
by(iris.mice, iris.mice$.imp, function(x) {
  with(x, points(Petal.Length, lm(Petal.Length ~ Sepal.Width + Petal.Width, x)$fitted,
                 col=x$.imp))
})
legend("bottomright", legend=unique(iris.mice$.imp), pch=1, col=unique(iris.mice$.imp),
       ncol=3, title="Imp.")

另一种可能性是使用不同的估算方法,例如MissForest,其仅产生一个具有误差容限的估算数据集。您可以在绘图中以文本形式报告误差值。

示例2

代码语言:javascript
运行
AI代码解释
复制
library(missForest)
iris.imp <- missForest(iris.mis, xtrue=iris)
with(iris.imp$ximp, plot(Petal.Length, 
                         lm(Petal.Length ~ Sepal.Width + Petal.Width)$fitted,
                         xlab="imp.actual", ylab="imp.yhat", main="Petal.Length"))
text(5.5, 1.7, paste("NRMSE=", round(iris.imp$error[1], 2)))

数据

代码语言:javascript
运行
AI代码解释
复制
iris.mis <- structure(list(Sepal.Length = c(5.1, NA, 4.7, 4.6, NA, 5.4, 4.6, 
5, 4.4, 4.9, 5.4, 4.8, 4.8, 4.3, 5.8, 5.7, 5.4, 5.1, 5.7, 5.1, 
5.4, 5.1, 4.6, NA, 4.8, 5, 5, 5.2, 5.2, 4.7, 4.8, 5.4, NA, NA, 
4.9, NA, NA, 4.9, 4.4, 5.1, 5, 4.5, 4.4, 5, 5.1, 4.8, 5.1, 4.6, 
5.3, 5, 7, 6.4, 6.9, 5.5, NA, 5.7, 6.3, 4.9, 6.6, 5.2, 5, 5.9, 
6, 6.1, 5.6, 6.7, 5.6, 5.8, 6.2, 5.6, 5.9, 6.1, NA, 6.1, 6.4, 
6.6, 6.8, 6.7, 6, 5.7, 5.5, 5.5, 5.8, NA, 5.4, 6, 6.7, NA, 5.6, 
5.5, 5.5, 6.1, 5.8, NA, 5.6, 5.7, NA, 6.2, 5.1, NA, 6.3, NA, 
7.1, 6.3, 6.5, 7.6, 4.9, 7.3, 6.7, NA, 6.5, NA, 6.8, 5.7, 5.8, 
6.4, 6.5, 7.7, 7.7, 6, 6.9, 5.6, 7.7, 6.3, 6.7, 7.2, 6.2, 6.1, 
NA, 7.2, NA, 7.9, 6.4, 6.3, 6.1, 7.7, 6.3, NA, NA, 6.9, 6.7, 
6.9, 5.8, 6.8, 6.7, NA, NA, 6.5, 6.2, NA), Sepal.Width = c(3.5, 
3, 3.2, NA, 3.6, 3.9, 3.4, 3.4, NA, 3.1, 3.7, NA, NA, 3, NA, 
4.4, 3.9, 3.5, 3.8, 3.8, 3.4, NA, 3.6, 3.3, 3.4, 3, 3.4, 3.5, 
3.4, 3.2, 3.1, NA, 4.1, 4.2, 3.1, NA, 3.5, 3.6, 3, NA, 3.5, 2.3, 
3.2, NA, 3.8, NA, 3.8, NA, 3.7, 3.3, 3.2, NA, NA, 2.3, NA, 2.8, 
3.3, NA, 2.9, 2.7, 2, 3, 2.2, 2.9, 2.9, 3.1, 3, NA, 2.2, 2.5, 
3.2, NA, NA, 2.8, 2.9, 3, NA, NA, 2.9, 2.6, 2.4, 2.4, NA, 2.7, 
3, 3.4, 3.1, 2.3, 3, 2.5, NA, NA, 2.6, 2.3, 2.7, NA, 2.9, 2.9, 
2.5, 2.8, 3.3, 2.7, 3, 2.9, 3, 3, 2.5, 2.9, 2.5, 3.6, 3.2, 2.7, 
3, 2.5, NA, NA, 3, 3.8, 2.6, NA, 3.2, 2.8, 2.8, 2.7, 3.3, 3.2, 
2.8, 3, 2.8, 3, 2.8, 3.8, NA, 2.8, 2.6, NA, 3.4, 3.1, 3, 3.1, 
3.1, 3.1, 2.7, 3.2, 3.3, 3, NA, 3, NA, 3), Petal.Length = c(NA, 
1.4, NA, NA, 1.4, 1.7, 1.4, 1.5, NA, 1.5, 1.5, 1.6, NA, 1.1, 
1.2, 1.5, 1.3, 1.4, 1.7, 1.5, 1.7, 1.5, 1, 1.7, NA, 1.6, NA, 
1.5, NA, 1.6, 1.6, NA, 1.5, 1.4, 1.5, NA, NA, NA, 1.3, 1.5, 1.3, 
1.3, NA, 1.6, 1.9, 1.4, 1.6, 1.4, 1.5, 1.4, NA, 4.5, 4.9, 4, 
4.6, 4.5, NA, 3.3, 4.6, 3.9, NA, NA, 4, 4.7, 3.6, NA, 4.5, 4.1, 
4.5, 3.9, 4.8, 4, NA, NA, 4.3, 4.4, 4.8, 5, 4.5, 3.5, NA, 3.7, 
3.9, 5.1, NA, 4.5, NA, 4.4, 4.1, 4, 4.4, 4.6, NA, 3.3, 4.2, 4.2, 
4.2, 4.3, NA, NA, 6, 5.1, 5.9, NA, 5.8, 6.6, 4.5, 6.3, NA, 6.1, 
5.1, NA, 5.5, 5, 5.1, 5.3, 5.5, 6.7, 6.9, 5, 5.7, 4.9, 6.7, 4.9, 
5.7, 6, 4.8, 4.9, 5.6, 5.8, NA, 6.4, 5.6, 5.1, 5.6, 6.1, 5.6, 
5.5, 4.8, NA, NA, 5.1, NA, 5.9, 5.7, 5.2, 5, 5.2, 5.4, 5.1), 
    Petal.Width = c(0.2, 0.2, 0.2, 0.2, 0.2, NA, 0.3, 0.2, NA, 
    0.1, 0.2, NA, 0.1, 0.1, 0.2, 0.4, 0.4, 0.3, 0.3, 0.3, 0.2, 
    0.4, 0.2, NA, 0.2, NA, 0.4, 0.2, 0.2, 0.2, 0.2, 0.4, NA, 
    0.2, 0.2, NA, 0.2, 0.1, 0.2, NA, 0.3, 0.3, 0.2, 0.6, 0.4, 
    0.3, 0.2, 0.2, 0.2, 0.2, NA, 1.5, 1.5, NA, 1.5, 1.3, NA, 
    1, 1.3, 1.4, 1, 1.5, 1, NA, 1.3, 1.4, 1.5, 1, 1.5, 1.1, NA, 
    NA, 1.5, 1.2, 1.3, 1.4, 1.4, NA, 1.5, NA, NA, 1, 1.2, NA, 
    1.5, 1.6, 1.5, 1.3, 1.3, NA, 1.2, NA, NA, 1, 1.3, 1.2, 1.3, 
    1.3, 1.1, 1.3, 2.5, NA, 2.1, 1.8, 2.2, 2.1, 1.7, NA, 1.8, 
    NA, 2, 1.9, 2.1, 2, 2.4, 2.3, NA, NA, 2.3, 1.5, 2.3, 2, 2, 
    1.8, NA, 1.8, 1.8, NA, 2.1, NA, 1.9, 2, 2.2, 1.5, 1.4, 2.3, 
    2.4, 1.8, 1.8, 2.1, 2.4, 2.3, NA, 2.3, 2.5, 2.3, 1.9, NA, 
    NA, 1.8), Species = structure(c(1L, 1L, NA, 1L, NA, 1L, NA, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, NA, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, NA, 1L, 1L, 1L, NA, 1L, 
    1L, 1L, 1L, NA, 1L, NA, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, NA, 
    2L, 2L, NA, 2L, NA, 2L, 2L, 2L, 2L, 2L, 2L, NA, NA, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, NA, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, NA, 2L, 2L, 2L, NA, NA, 
    NA, 2L, 2L, 3L, NA, NA, NA, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
    3L, 3L, 3L, NA, 3L, NA, 3L, 3L, 3L, 3L, 3L, 3L, NA, 3L, NA, 
    3L, 3L, NA, 3L, NA, 3L, 3L, 3L, 3L, NA, 3L, 3L, 3L, NA, 3L, 
    3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), .Label = c("setosa", "versicolor", 
    "virginica"), class = "factor")), row.names = c(NA, -150L
), class = "data.frame")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57754162

复制
相关文章
数据导入与预处理-拓展-pandas可视化
关于pandas的可视化的用法还有很多,这里不再拓展,但还是建议使用matplotlib,seaborn等库完成绘图。
用户2225445
2022/11/12
3.2K0
数据导入与预处理-拓展-pandas可视化
如何在折线图上添加动画效果?
要在 Chart.js 的折线图上添加动画效果,可以使用 Chart.js 提供的配置选项来实现。以下是一个示例,展示了如何在折线图上添加简单的动画效果:
王小婷
2023/09/09
5180
Echarts堆叠折线图ajax获取数据展示
先看效果图,效果图如下。 html <div class="row" > <div id="main"></div> </div> js // ajax加载数据 $.ajax({ url :
王小婷
2019/03/08
1.5K0
Echarts堆叠折线图ajax获取数据展示
图表解析系列之柱状图
是一种以长方形的长度为变量的统计图表。长条图用来比较两个或以上的价值(不同时间或者不同条件),只有一个变量,通常利用于较小的数据集分析。长条图亦可横向排列。——维基百科
Data探险实验室
2023/02/23
2.7K0
图表解析系列之柱状图
手把手教你用plotly绘制excel中常见的16种图表(上)
最近不是在学习plotly嘛,为了方便理解,我们这里取excel绘图中常见的16种图表为例,分两期演示这些基础图表怎么用plotly进行绘制!
可以叫我才哥
2021/08/05
4.1K0
安卓MPAndroidChart绘制多层级的堆叠条形图
这次是在上一篇的基础上增加的,所以导包这些啥的就跳过了研究了一下代码,发现主要的区别就在于增加data的时候,第二个参数传递的是一个数组,然后就变成了堆叠条形图。
SingYi
2022/07/14
1.3K0
安卓MPAndroidChart绘制多层级的堆叠条形图
了解绘制条形图和折线图的细节
考虑到公众号后台数不胜数的提问其实并不是生物学知识或者数据处理知识的困惑,仅仅是绘图小技巧以及数据转换的困难。所以我们一再强调系统性掌握编程知识的重要性,在这个打基础方面我让实习生“身先士卒”,起码每个人在每个编程语言上面都需要看至少五本书而且每本书都需要看五遍以上,并且详细的记录笔记。
生信技能树
2022/06/08
7.2K0
了解绘制条形图和折线图的细节
原来使用 Pandas 绘制图表也这么惊艳
Pandas 是一种非常流行的数据分析工具,同时它还为数据可视化提供了很好的选择。
周萝卜
2022/09/28
4.7K0
Origin绘图之条形图上加曲线拟合图
有时,写论文时,我们要做一些描述性统计,经常用到条形图来表示我们的数据,同时在条形图上可以加入曲线拟合的情况。如下图所示:
全栈程序员站长
2022/08/29
1.4K0
Origin绘图之条形图上加曲线拟合图
玩转数据地图系列之——地图上的迷你条形图
最近忙的厉害,产量下降的有点严重,感谢各位还没取关的小伙伴儿。 一周前更新了一篇数据地图上的气泡散点图的内容,不知怎地,这段时间就是跟地图死磕上了,今天还是数据地图,不过是在数据地图上呈现条形图、柱形图。 之前的一篇因为有现成的作图包支持,geom_scatterpie函数不用花费太大力气就解决了数据地图上的气泡散点图问题。 可是到目前为止我还没有发现支持对应坐标位置的条形图、柱形图,这一篇是参考了知乎上大神提供的思路。 加载包: library(maptools) library(ggplot2) lib
数据小磨坊
2018/04/11
2.6K1
玩转数据地图系列之——地图上的迷你条形图
5个快速而简单的数据可视化方法和Python代码
数据可视化是数据科学家工作的重要组成部分。在项目的早期阶段,你通常会进行探索性数据分析(EDA),以获得对数据的一些见解。创建可视化确实有助于使事情更清晰和更容易理解,特别是对于更大的、高维的数据集。在项目接近尾声时,以一种清晰、简洁和引人注目的方式展示最终结果是非常重要的,这样你的受众(通常是非技术客户)就更加容易理解。
AI算法与图像处理
2019/05/22
2.2K0
数据可视化设计指南
数据可视化是一种将密集复杂数据信息以视觉图形的形式呈现。设计出来的视觉效果简化了数据,让用户分析研究比较数据变得容易以及可以更好地向领导或者团队讲述“故事”——可以帮助用户更好地做出决策。
Banber可视化云平台
2021/07/06
6.3K0
数据可视化设计指南
Python中最常用的 14 种数据可视化类型的概念与代码
收集数据后,需要对其进行解释和分析,以深入了解数据所蕴含的深意。而这个含义可以是关于模式、趋势或变量之间的关系。
数据STUDIO
2022/02/24
9.8K0
Python中最常用的 14 种数据可视化类型的概念与代码
【MATLAB】进阶绘图 ( Bar 条形图 | bar 函数 | bar3 函数 | Bar 条形图样式 | 堆叠条形图 | 水平条形图 | barh 函数 )
bar 函数参考文档 : https://ww2.mathworks.cn/help/matlab/ref/bar.html
韩曙亮
2023/03/29
6.2K0
【MATLAB】进阶绘图 ( Bar 条形图 | bar 函数 | bar3 函数 | Bar 条形图样式 | 堆叠条形图 | 水平条形图 | barh 函数 )
可视化图表样式使用大全
Severino Ribecca 是一位平面设计师,也是数据可视化的爱好者,他在自己的网站上收录了 60 种可视化图表样式以及它们分别适用于什么样的场景,并且推荐了相应的制作工具。
代码医生工作室
2020/02/20
9.7K0
60 种常用可视化图表,该怎么用?
数据可视化的爱好者Severino Ribecca,他在自己的网站上收录了 60 种可视化图表样式以及它们分别适用于什么样的场景,并且推荐了相应的制作工具。
Python研究者
2022/05/21
9.3K0
60 种常用可视化图表,该怎么用?
常用60类图表使用场景、制作工具推荐!
数据可视化的爱好者Severino Ribecca,他在自己的网站上收录了 60 种可视化图表样式以及它们分别适用于什么样的场景,并且推荐了相应的制作工具。
用户8949263
2022/05/23
9.2K0
常用60类图表使用场景、制作工具推荐!
双坐标分别绘制条形图和折线图
生信技能树jimmy
2023/09/26
3350
双坐标分别绘制条形图和折线图
52个数据可视化图表鉴赏
一、数据可视化,是关于数据视觉表现形式的科学技术研究。其中,这种数据的视觉表现形式被定义为,一种以某种概要形式抽提出来的信息,包括相应信息单位的各种属性和变量。它是一个处于不断演变之中的概念,其边界在不断地扩大。主要指的是技术上较为高级的技术方法,而这些技术方法允许利用图形、图像处理、计算机视觉以及用户界面,通过表达、建模以及对立体、表面、属性以及动画的显示,对数据加以可视化解释。与立体建模之类的特殊技术方法相比,数据可视化所涵盖的技术方法要广泛得多。
数据STUDIO
2022/02/24
6.1K0
52个数据可视化图表鉴赏
Pandas绘图功能
可视化是用来探索性数据分析最强大的工具之一。Pandas库包含基本的绘图功能,可以让你创建各种绘图。Pandas中的绘图是在matplotlib之上构建的,如果你很熟悉matplotlib你会惊奇地发现他们的绘图风格是一样的。
用户3577892
2020/11/12
1.8K0

相似问题

tableau中组合堆叠条形图/累计折线图上的合计

13

堆叠条形图上的数据标签

11

堆叠条形图上的条件圆角

28

SSRS堆叠条形图标签位置

20

PowerBI:在组合的堆叠条形图和折线图上设置总计的格式

27
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档