生成包含 `partykit:mob()` 对象的并排节点模型的表

2024-03-09

假设我使用以下方法拟合模型partykit:mob()。之后,我想生成一个包含所有节点的并排表(包括使用整个样本拟合的模型)。在这里我尝试使用stargazer(),但其他方式也非常受欢迎。

下面是一个例子并尝试获取表格。

library("partykit")
require("mlbench")
## Pima Indians diabetes data
data("PimaIndiansDiabetes", package = "mlbench")
## a simple basic fitting function (of type 1) for a logistic regression
logit <- function(y, x, start = NULL, weights = NULL, offset = NULL, ...) {
  glm(y ~ 0 + x, family = binomial, start = start, ...)
}
## set up a logistic regression tree
pid_tree <- mob(diabetes ~ glucose | pregnant + pressure + triceps + insulin +
                  mass + pedigree + age, data = PimaIndiansDiabetes, fit = logit)

pid_tree 
# Model-based recursive partitioning (logit)
# 
# Model formula:
#   diabetes ~ glucose | pregnant + pressure + triceps + insulin +
#   mass + pedigree + age
# 
# Fitted party:
#   [1] root
# |   [2] mass <= 26.3: n = 167
# |       x(Intercept)     xglucose
# |        -9.95150963   0.05870786
# |   [3] mass > 26.3
# |   |   [4] age <= 30: n = 304
# |   |       x(Intercept)     xglucose
# |   |        -6.70558554   0.04683748
# |   |   [5] age > 30: n = 297
# |   |       x(Intercept)     xglucose
# |   |        -2.77095386   0.02353582
# 
# Number of inner nodes:    2
# Number of terminal nodes: 3
# Number of parameters per node: 2
# Objective function: 355.4578

1.- 提取物summary(pid_tree, node = x) + stargazer().

## I want to replicate this table extracting the the nodes from partykit object.   
library(stargazer)  
m.glm<-   glm(diabetes ~ glucose, family = binomial,data = PimaIndiansDiabetes)

typeof(m.glm)
## [1] "list"
class(m.glm)
## [1] "glm" "lm" 
stargazer(m.glm)
## ommited output.



## Extracting summary from each node
summ_full_data <- summary(pid_tree, node = 1)
summ_node_2    <- summary(pid_tree, node = 2)
summ_node_4    <- summary(pid_tree, node = 4)
summ_node_5    <- summary(pid_tree, node = 5)

## trying to create stargazer table with coefficients
stargazer(m.glm,
          summ_node_2, 
          summ_node_4,
          summ_node_5,title="MOB Results")
##Error: $ operator is invalid for atomic vectors

2.- 提取物pid_tree[x] + stargazer().

## Second Attempt (extracting modelparty objects instead)
node_2    <- pid_tree[2]
node_4    <- pid_tree[4]
node_5    <- pid_tree[5]

class(node_5)
##[1] "modelparty" "party"     

stargazer(m.glm,
          node_2, 
          node_4,
          node_5,title="MOB Results")
# % Error: Unrecognized object type.
# % Error: Unrecognized object type.
# % Error: Unrecognized object type.

3.- 我知道,这并不是很优雅:强制类模拟 glm 对象。

## Force class of object to emulate glm one
class(m.glm)
class(summ_node_2) <- c("glm", "lm") 
stargazer(summ_node_2)
##Error in if (p > 0) { : argument is of length zero

一个相当务实的解决方案就是重新拟合模型,恢复发现的规则partykit:mob()然后使用stargaze()在他们身上,但我肯定在这里遗漏了一些东西。提前致谢。


最好提取(或重新调整)每个节点的模型对象列表,然后应用选择的表包。就我个人而言,我不喜欢stargazer多多使用modelsummary相反或有时是好旧的memisc.

如果树包含模型$objects in the $info(至于pid_tree) 您可以使用nodeapply()对全部nodeids()提取这些:

pid_models <- nodeapply(pid_tree, ids = nodeids(pid_tree), FUN = function(x) x$info$object)

如果您只想提取树的终端节点(叶子)的拟合模型,那么您可以通过设置来实现ids = nodeids(pid_tree, terminal = TRUE).

或者,特别是当模型对象未存储时,您可以通过以下方式轻松地重新安装它们:

pid_models <- refit.modelparty(pid_tree)

在这里,您还可以包括node = nodeids(pid_tree, terminal = TRUE)仅改装终端节点模型。

在所有情况下,您都可以随后使用

msummary(pid_models)

生成模型汇总表。它支持多种输出格式,当然您可以进一步调整列表以更改结果,例如,通过更改它们的名称等。默认输出如下所示:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

生成包含 `partykit:mob()` 对象的并排节点模型的表 的相关文章

  • R foreach问题(某些进程返回NULL)

    我遇到了问题foreach我正在 R 中使用的程序的一部分 该程序用于运行不同参数的模拟 然后将结果返回到单个列表 然后用于生成报告 当并非所有分配的模拟运行都在报告上实际可见时 就会出现问题 从各方面来看 似乎只有分配的运行的一个子集实际
  • 在 R 中向散点图添加线条

    如何向图表添加线条 我做了以下 dat lt data frame xvar 1 20 rnorm 20 sd 10 yvar 1 20 rnorm 20 sd 10 zvar 1 20 rnorm 20 sd 10 plot dat 1
  • 多功能测试仪替代 system.time

    我已经看到 我认为是这样 使用了类似于 system time 的函数 它可以同时评估多个函数的时间并输出一个输出 我不记得它是什么 并且用我正在使用的术语进行互联网搜索并没有得到我想要的响应 有人知道我正在谈论的功能的名称 位置吗 你想要
  • API 请求和curl::curl_fetch_memory(url, handle = handle) 中的错误:SSL 证书问题:证书已过期

    几天前 我运行了代码几个月 没有任何问题 GET url myurl query 今天我遇到一个错误 Error in curl curl fetch memory url handle handle SSL certificate pro
  • 使用 R 选择第一个非 NA 值

    df lt data frame ID c 1 1 1 2 3 3 3 test c NA 5 5 6 4 NA 7 3 NA 10 9 我想创建一个名为 value 的变量 它是每个单独 ID 测试的第一个非 NA 值 对于只有NA的个体
  • 将数据框中重叠的范围合并到唯一的组中

    我有一个 n 行 3 的数据框 df lt data frame start c 178 400 983 1932 33653 end c 5025 5025 5535 6918 38197 group c 1 1 2 2 3 df sta
  • 将阴影区域添加到五分位数之间的直方图中

    All 我有一个包含 2 个直方图的图表 其中我还绘制了代表第 20 40 60 和 80 个百分位数的线条 下面的代码使用虚拟数据重现了类似的图表 data lt rbind data frame x rnorm 1000 0 1 g o
  • 相当于 min() 的 rowMeans()

    我在 R 邮件列表上多次看到这个问题 但仍然找不到满意的答案 假设我有一个矩阵m m lt matrix rnorm 10000000 ncol 10 我可以通过以下方式获得每行的平均值 system time rowMeans m use
  • 所有 x 轴标签未以 45 度显示

    I m having the code as like below But I m not getting all the x axis labels and it is not displaying in 45 degree when I
  • 如何从 R 中的 txt 文件读取矩阵?

    我有一个带有矩阵的txt文件 Matrix txt 重要 数字之间没有空格 0100 1001 1100 我想在 R 中将其作为矩阵读取 我该怎么做 我尝试使用 as matrix read table Matrix txt sep 但失败
  • 使用 ggmap 截断密度多边形

    我在使用 R ggmap 绘制密度图时遇到问题 我的数据如下所示 gt head W date lat lon dist 1 2010 01 01 31 942 86 659 292 415 2 2010 01 10 32 970 84 1
  • 将不均匀的层次列表转换为数据框

    我认为还没有有人问过这个问题 但是有没有一种方法可以将具有多个级别和不均匀结构的列表的信息组合成 长 格式的数据帧 具体来说 library XML library plyr xml inning lt http gd2 mlb com c
  • R:如何获取该月的周数

    我是 R 新手 我想要该日期所属月份的周数 通过使用以下代码 gt CurrentDate lt Sys Date gt Week Number lt format CurrentDate format U gt Week Number 3
  • 投资决策:R中的NPV、IRR、PB计算

    我正在尝试计算不同数量项目的净现值 NPV 内部收益率 IRR 和投资回收期 PB 时间 以评估哪个投资项目提供最佳回报 到目前为止 我可以为每个项目单独计算几行代码 但我想做的是 编写一个函数 它接受一个包含许多不同项目及其现金流的矩阵
  • R“错误:“}”中出现意外的“}”[重复]

    这个问题在这里已经有答案了 我有一个字符串变量 对于缺少数据的情况 它具有 空值 我想将 空值 重新编码为缺失 而不是说 空值 我正在尝试编写一个循环来删除这些 空值 条目 但我不断收到错误 错误 中出现意外的 for row in dat
  • 使用 Tkinter 显示 numpy 数组中的图像

    我对 Python 缺乏经验 第一次使用 Tkinter 制作一个 UI 显示我的数字分类程序与 mnist 数据集的结果 当图像来自 numpy 数组而不是我的 PC 上的文件路径时 我有一个关于在 Tkinter 中显示图像的问题 我为
  • 使用 template.docx 从 Shiny App 编织 Word 文档

    我正在尝试使用 template docx 文件从闪亮的应用程序编写一个 Word 文档 我收到以下错误消息 pandoc exe template docx openBinaryFile 不存在 没有这样的文件或目录 以下 3 个文件当前
  • 如何绘制具有显着性水平的箱线图?

    前段时间问了一个关于绘制箱线图的问题Link1 https stackoverflow com questions 14604439 plot multiple boxplot in one graph 我有一些包含 3 个不同组 或标签
  • 麦当劳 omega:R 中的警告

    我正在计算几种不同尺度的欧米茄 并在 R 中使用不同的 omega 函数获取不同比例的不同警告消息 我的问题是如何解释这些警告以及报告检索到的 omega 统计数据是否安全 当我使用 从 alpha 到 omega 内部一致性估计普遍问题的
  • 线性判别分析图

    如何将样本 ID 行号 作为标签添加到此 LDA 图中的每个点 library MASS ldaobject lt lda Species data iris plot ldaobject panel function x y points

随机推荐

  • Oracle - select 语句中的动态列名

    问题 是否可以根据结果集中的值更改 select 语句中的列名称 例如 如果一个year结果集中的值小于1950 为列命名OldYear 否则命名该列NewYear The year结果集中的值保证所有记录都相同 我认为这是不可能的 但这是
  • 如何防止用户使用 dotnet core 和 RESTful API 访问其他用户的数据?

    我正在尝试找到一个没有被广泛讨论的简单问题的最佳解决方案 我的应用程序有很多可以创建和编辑数据的用户 用户应该只查看和编辑他的数据 而不是其他人的数据 想想爱丽丝 她有一家餐厅 A 有一个菜单 MenuA 而鲍勃有一家餐厅 B 有一个菜单
  • 软件可扩展性测试是否有明确的模式?

    我最近对识别软件可扩展性测试的模式非常感兴趣 由于不同软件解决方案的本质不同 可伸缩性测试软件问题的良好解决方案似乎与设计和实现软件的问题一样多 对我来说 这意味着我们可能可以为此类广泛使用的测试提炼出一些模式 为了消除歧义 我会提前说明我
  • 在Mysql表中保存座位安排

    你好 有人可以建议我一种保存座位安排的方法 它是 mysql 表中的 nXm 矩阵 以下是我们如何生成 nXm 表 管理员指定总线的行数和列数 管理员选择矩阵的特定元素是否是 Seat Passage Sleeper 注 一个卧铺占用2个元
  • didSelectRowAtIndexPath 未调用到 cellForRowAtIndex 的 UIButton

    我知道这里有很多关于这个问题的重复项 但我的要求是我在一个单元格上添加了 2 个 UIButtons 并且这两个按钮将打开两个不同的视图 如果我将属性 userInteractionEnabled 设置为 YES 那么它不会从下面的代码中获
  • 使用 Windows 成像组件 (WIC) 的 Delphi 2007

    我需要在Delphi 2007中读取一些大约1 7mb的图片并将其从jpg转换为bmp 有些图片被剪切 灰度或转换后最差 我进行了搜索 但没有找到在 delphi 2007 中添加像 TWicImage 这样的 WIC 例程的技巧 我在某处
  • 在 JSR-310 中计算修改后的儒略日

    如何从 JSR 310 类计算修改后的儒略日 例如LocalDate 在 JDK 8 中 具体来说 这是计算连续计算天数 http en wikipedia org wiki Julian day被称为 修改儒略日 而不是日期儒略历系统 h
  • 当我使用 pip 安装任何包时出现 WinError 10013

    我试图在 Windows 上的 Python 环境中安装软件包 每次这样做时 pip install pacakgename 我收到此错误 Retrying Retry total 4 connect None read None redi
  • 如何在 Visual Studio 中使用 C++ shlwapi 库?

    我的程序使用PathFileExistsW https learn microsoft com windows win32 api shlwapi nf shlwapi pathfileexistsw函数来自shlwapi h includ
  • 控制器如何接收 HttpPost 方法上的参数?

    从控制器中取出此代码片段 例如 public ActionResult Login if User Identity IsAuthenticated return RedirectToAction Index Home else retur
  • 已移至 Tensorflow 2.0,训练现在在第三步后挂起

    最近我决定从 Tensorflow GPU 变体 版本 1 14 迁移到当前版本 2 0 我当前的设置是 Tensorflow GPU 变体 2 0 库德恩7 6 4 CUDA 10 Python 3 6 集成开发环境 Visual Stu
  • AJAX GET 竞争条件?

    我试图以类似于以下的方法跟踪在我的网站上单击链接时的事件 a href example class track Example a
  • 如何在 IntelliJ IDEA 中使用键盘弹出错误窗口

    当使用 IntelliJ IDEA 并编写代码时 当您编写的代码出现错误时 我知道让 IDEA 显示错误详细信息的唯一方法是将鼠标光标悬停在问题上 但这需要我将手从键盘移到鼠标上 是否有一个热键会导致出现带有错误消息的弹出窗口 或者是否有配
  • Angular 2(Ionic 2)在显示页面时调用页面中的函数

    每当我的主页出现在angular 2 ionic 2 应用程序已加载我想要呼叫服务 功能 如何实现这一目标 第一次加载应用程序时 加载主页 我可以在constructor 但是当用户开始使用该应用程序并且push新页面进入nav contr
  • Response.write 和 ASP.NET 控件

    请看下面的代码 Protected Sub Page Load ByVal sender As Object ByVal e As EventArgs Handles Me Load Response Write table tr td s
  • Docker 服务禁用内存交换

    我可以为docker服务设置 MemorySwap 和 MemorySwappiness 吗 我想禁用 docker 容器的内存交换 由 docker 服务启动 但我不想为主机禁用它 MemorySwappiness 中的 1 值意味着什么
  • 在MFC项目中使用多个资源文件

    我在 VS2015 中使用 MFC C 11 并且有一组独立的 GUI 我想在多个项目中使用它们 我知道这可以通过创建一个 rc 文件来实现 该文件可以包含在每个项目的主 rc 文件中 使用多个资源文件 https msdn microso
  • System.DirectoryServices.DirectoryServicesCOMException:发生操作错误

    我有相同的网络应用程序在其他三台服务器上运行 有人知道为什么第四台服务器无法工作吗 查看错误和堆栈跟踪 发生操作错误 描述 执行期间发生未处理的异常 当前的网络请求 请查看堆栈跟踪以了解更多信息 有关错误及其在代码中的来源的信息 异常详细信
  • 重新定位 Jquery UI 自动完成结果框

    我正在使用 Jquery UI 自动完成插件作为直接的搜索词建议工具 它已启动并运行 没有任何问题 只是我无法移动结果框 我基本上需要将其向左移动 20 像素 向下移动 4 像素 我尝试覆盖 Jquery UI CSS 但无法重新定位该框
  • 生成包含 `partykit:mob()` 对象的并排节点模型的表

    假设我使用以下方法拟合模型partykit mob 之后 我想生成一个包含所有节点的并排表 包括使用整个样本拟合的模型 在这里我尝试使用stargazer 但其他方式也非常受欢迎 下面是一个例子并尝试获取表格 library partyki