r输出表到word的回归模型

r输出表到word的回归模型,r,ms-word,logistic-regression,sjplot,gtsummary,R,Ms Word,Logistic Regression,Sjplot,Gtsummary,我一直在使用sjplot创建一个组合表。这将创建一个HTML表。我想做一个表,可以导出到word 我已经看过这篇文章,它讨论了复制和粘贴到word中,但这会改变列和行的格式。 n1由于sjPlot输出为html,因此很难将其直接放入Word文档中。下面是一个示例,说明如何使用knitr、rmarkdown、jtools和huxtable执行类似的操作。我将RStudio与一个rmarkdown文档一起使用,我将它编织到一个Word文档中 --- title: "jtools to Output

我一直在使用sjplot创建一个组合表。这将创建一个HTML表。我想做一个表,可以导出到word

我已经看过这篇文章,它讨论了复制和粘贴到word中,但这会改变列和行的格式。


n1由于
sjPlot
输出为html,因此很难将其直接放入Word文档中。下面是一个示例,说明如何使用
knitr
rmarkdown
jtools
huxtable
执行类似的操作。我将RStudio与一个rmarkdown文档一起使用,我将它编织到一个Word文档中

---
title: "jtools to Output Logistic Regression Models"
author: "sar"
date: "`r format(Sys.time(), '%d %B %Y')`"
output: word_document
---

```{r setup, include=FALSE}
library(knitr)
library(jtools)
library(huxtable)

knitr::opts_chunk$set(echo=FALSE, warning = FALSE)

```

# Introduction

This is a test document to demonstrate how knitr and rmarkdown can be used to put output from jtools
into a Word Document

```{r OutputTable}
set.seed(1234)
logistic_s <- data.frame(N=rbinom(200,1,0.5),
                         G=rbinom(200,1,0.5),
                         G_1=rbinom(200,1,0.5),
                         L_1=rbinom(200,1,0.5),
                         C_1=rbinom(200,1,0.5),
                         m=rbinom(200,1,0.5),
                         Age_2=round(rnorm(200,40,6)))

n1 <- glm(N  ~ Age_2 , data = logistic_s, family = "binomial")
g1 <- glm(G  ~ Age_2 , data = logistic_s, family = "binomial")
ga1 <- glm(G_1  ~ Age_2 , data = logistic_s, family = "binomial")
l1 <- glm(L_1  ~ Age_2 , data = logistic_s, family = "binomial")
c1 <- glm(C_1  ~ Age_2 , data = logistic_s, family = "binomial")
m1 <- glm(m  ~ Age_2 , data = logistic_s, family = "binomial")

model_summs <- export_summs(n1,g1,ga1,l1,c1,m1,
                            error_format = "({conf.low}, {conf.high})",
                            model.names = c("N","G","G_1","L_1","C_1","m"))

col_width(model_summs) = c(0.84,rep(0.95,6))

model_summs
```
---
标题:“输出逻辑回归模型的jtools”
作者:“sar”
日期:“`r格式(Sys.time(),'%d%B%Y')`”
输出:word\u文档
---
```{r设置,include=FALSE}
图书馆(knitr)
图书馆(jtools)
图书馆(huxtable)
knitr::opts_chunk$set(echo=FALSE,warning=FALSE)
```
#导言
这是一个测试文档,演示了如何使用knitr和rmarkdown来输出jtools
转换为Word文档
```{r可输出}
种子集(1234)

我们可以通过gtsummary软件包实现这一点。默认情况下,gtsummary打印带有不支持Word输出的gt包的表。但我们可以将任何gtsummary对象转换为Word支持的类型。在下面的示例中,我们将转换为flextable

我为您的解决方案提供了两种格式:一个长表和一个(非常)宽表。下面是长桌子的样子:

宽格式如下所示:

我们使用
add\u nevent()
函数获取每个模型的事件数。这是R标记文件的完整代码。注意:
as_flextable()
是新的,您需要安装gtsummary
remotes::install_github(“ddsjoberg/gtsummary”)

---
标题:“带有gtsummary的回归表”
输出:word\u文档
---
```{r设置,include=FALSE}
knitr::opts_chunk$set(echo=TRUE)
```
##资料
```{r}
种子集(324524)
物流单位%
修改_标题(label=“**模型结果**”)%>%
#添加evenets的数量
添加内容()%>%
#导出为flextable而不是gt表
as_flextable()
```
##宽桌
创建一个如此宽的表
```{r cars}
#列出所有结果
成果%
#添加evenets的数量
添加_nevent()
)
#将所有表合并在一起
tbl\u合并(tbls=列表、回归表、,
tab_扳手=结果)%>%
#导出为flextable而不是gt表
as_flextable()
```

快乐编码

输出到word。我在输出到word时使用
huxtable
flextable
的组合(
huxtable
构建表格,
flextable
输出到word)
gtsummary
包在这里也可能有助于输出工作。您可以将输出更改为knitr而不是gt,以将其渲染为word。它还提供了一种将回归模型相互比较的方法:您是否考虑过使用knitr::kable将rmarkdown和knit连接到word文档中,以用于表格?谢谢@Sam Dickson。我在显示表格时遇到此错误:错误:pandoc文档转换失败,错误1另外:警告消息:1:在readLines中(con,warn=FALSE):在输入连接“model_summs.doc.Rmd”中找到无效输入2:在knitr::knit中(knit_输入,knit_输出,envir=envir,quiet=quiet):文件“model_summs.doc.Rmd”必须用UTF-8编码。有关更多信息,请参阅。3:在readLines中(con,warn=FALSE):在输入连接“model_summs.doc.knit.md”上发现无效输入,谢谢@Daniel Sjoberg。我在为每列寻找一个模型(或者为3个子列(or,CI,p)寻找一个模型)。对于行,我在寻找模型变量。太好了,这就是宽表所做的。这不是你在寻找的吗?(R标记块中的代码)@sarI在map(outcours,~glm(formula=as.formula)(paste(.x,)中得到了这个错误消息,“Age_2”,sep=“~”):找不到函数“map”,我已经更改了模型,并为每个模型使用了单独的数据集。我已经更新了问题中的代码。是否有方法对多个数据集执行此操作?
---
title: "jtools to Output Logistic Regression Models"
author: "sar"
date: "`r format(Sys.time(), '%d %B %Y')`"
output: word_document
---

```{r setup, include=FALSE}
library(knitr)
library(jtools)
library(huxtable)

knitr::opts_chunk$set(echo=FALSE, warning = FALSE)

```

# Introduction

This is a test document to demonstrate how knitr and rmarkdown can be used to put output from jtools
into a Word Document

```{r OutputTable}
set.seed(1234)
logistic_s <- data.frame(N=rbinom(200,1,0.5),
                         G=rbinom(200,1,0.5),
                         G_1=rbinom(200,1,0.5),
                         L_1=rbinom(200,1,0.5),
                         C_1=rbinom(200,1,0.5),
                         m=rbinom(200,1,0.5),
                         Age_2=round(rnorm(200,40,6)))

n1 <- glm(N  ~ Age_2 , data = logistic_s, family = "binomial")
g1 <- glm(G  ~ Age_2 , data = logistic_s, family = "binomial")
ga1 <- glm(G_1  ~ Age_2 , data = logistic_s, family = "binomial")
l1 <- glm(L_1  ~ Age_2 , data = logistic_s, family = "binomial")
c1 <- glm(C_1  ~ Age_2 , data = logistic_s, family = "binomial")
m1 <- glm(m  ~ Age_2 , data = logistic_s, family = "binomial")

model_summs <- export_summs(n1,g1,ga1,l1,c1,m1,
                            error_format = "({conf.low}, {conf.high})",
                            model.names = c("N","G","G_1","L_1","C_1","m"))

col_width(model_summs) = c(0.84,rep(0.95,6))

model_summs
```