我在SO上问我的问题,这是我最后的希望:-)
我必须编写有关Word的报告。
我在R Markdown上工作,在那里我必须产生许多表。
我希望我的桌子很漂亮!但是我尝试的所有内容(pander
,KableExtra
,flextable
)都无效。
我从coxph
模型中获取结果,对其进行汇总,然后构建如下所示的data.frame
:
1 Model 1 Model 2
2 n= 375 n= 374
3 e= 65 e= 64
4 PH= 0.46 PH= 0.97
5 Weight --- 1.0 [ 1.0 ; 1.1 ] p = 0.03
6 Size --- 1.0 [ 1.0 ; 1.0 ] p = < 10^-3^
7 GR I --- 1
8 GR II --- 1.2e+06 [ 0.0 ; Inf ] p = 1.00
9 GR III --- 1.4e+06 [ 0.0 ; Inf ] p = 1.00
10 Roads 1 1.1 [ 1.0 ; 1.1 ] p = < 10^-5^
11 Score 1.0 [ 0.9 ; 1.0 ] p = 0.04 ---
12 Likelihood ratio Chi-two= 4.48 p-value= 0.034 Chi-two= 2.73 1 p-value= 0.098
V4
1 Model 3
2 n= 374
3 e= 64
4 PH= 0.96
5 1.0 [ 1.0 ; 1.1 ] p = 0.05
6 1.0 [ 1.0 ; 1.0 ] p = < 10^-2^
7 1
8 1.3e+06 [ 0.0 ; Inf ] p = 1.00
9 1.7e+06 [ 0.0 ; Inf ] p = 1.00
10 1.1 [ 1.1 ; 1.1 ] p = < 10^-6^
11 1.0 [ 0.9 ; 1.0 ] p = 0.10
在Latex上,创建漂亮的表很容易,而我使用xtable
来获取此表
。
在R Markdown上,我使用print(kable(table))
,但不能使用KableExtra
中的任何功能来改善外观(编织成文字时不起作用)。
另外,我的表是循环制作的,这使情况变得更加困难。
您有任何线索可以从R Markdown在Word上生成此类表格吗?
尤其是:
KableExtra
无法正常工作的情况下,如何添加试条?感谢您对以上问题的回答:-)
答案 0 :(得分:1)
kableExtra
专注于html内容表。但是,有时我也使用它通过以前的html输出为Word文档创建表。首先,我在kableExtra
中设置了表的规范(请参阅文档;重要的是:跳过html
规范中的kableExtra
属性,这使得随后将表复制到Word变得很困难)。然后,我仅使用RMarkdown
将相应的results='show'
文档编织成html(在这些情况下,我不使用print
)。从生成的html文档中,您应该能够将表复制并粘贴到Word中。你有尝试过吗?我假设print
命令不允许常规的kableExtra
表样式。您还可以使用lapply
遍历表吗?
答案 1 :(得分:1)
您是否已经尝试过stargazer
软件包?您可以使用type
参数指定表的输出格式。编织成文字时,唯一对我有用的是text
格式。请参见下面循环运行的示例。它应该运行,但可能需要一些调整。
```{r word_table, comment = ''}
library(stargazer)
lapply(1:3, function(x){
print(paste("table", x))
stargazer(attitude, type = 'text')
})
```