R标记,当区块选项结果=”时输出测试结果(htest);asis“;
我需要使用R标记,当区块选项结果=”时输出测试结果(htest);asis“;,r,knitr,r-markdown,pander,R,Knitr,R Markdown,Pander,我需要使用results=“asis”,原因如下: 但是,使用该块选项意味着其他输出呈现非理想效果。具体地说,我在输出prop.test结果时遇到了问题,但我确信其他数据类型也会出现这种情况 在下面的示例中,我提供了4个选项,所有这些选项在某些方面都有不足之处: --- title: "R Notebook" output: html_document: df_print: paged --- ```{r, echo=F, message=F, warning=F, results=
results=“asis”
,原因如下:
但是,使用该块选项意味着其他输出呈现非理想效果。具体地说,我在输出prop.test
结果时遇到了问题,但我确信其他数据类型也会出现这种情况
在下面的示例中,我提供了4个选项,所有这些选项在某些方面都有不足之处:
---
title: "R Notebook"
output:
html_document:
df_print: paged
---
```{r, echo=F, message=F, warning=F, results="asis"}
library(knitr)
library(pander)
out <- prop.test(c(10,30), c(20,40))
cat("# Header \n")
cat(" \n## Straight output\n")
out # Only properly renders first line
cat(" \n## Print\n")
print(out) # Only properly renders first line
cat(" \n## Kable\n")
#kable(out) # Will fail: Error in as.data.frame.default(x) : cannot coerce class ""htest"" to a data.frame
kable(unlist(out)) # Renders everything but in an ugly way
cat(" \n## Pander\n")
pander(out) # Misses confidence interval.
cat(" \n As you can see, Pander misses some information, such as the confidence interval")
```
---
标题:“R笔记本”
输出:
html_文件:
df_打印:第页
---
```{r,echo=F,message=F,warning=F,results=“asis”}
图书馆(knitr)
图书馆(潘德尔)
out您可以像这样使用formattable
library(knitr)
library(formattable)
out <- prop.test(c(10,30), c(20,40))
cat("# Header \n")
cat(" \n## Straight output\n")
out # Only properly renders first line
cat(" \n## Print\n")
print(out) # Only properly renders first line
cat(" \n## Kable\n")
#kable(out) # Will fail: Error in as.data.frame.default(x) : cannot coerce class ""htest"" to a data.frame
kable(unlist(out)) # Renders everything but in an ugly way
cat(" \n## Pander\n")
df <- data.frame(value = unlist(out))
tdf <- as.data.frame(t(df))
formattable(tdf)
库(knitr)
库(格式化表)
out一个选项是返回到results=“markup”
(默认设置)并用asiu输出替换您的cat
调用(从knitr
包)
---
标题:“R笔记本”
输出:
html_文件:
df_打印:第页
---
```{r,echo=F,message=F,warning=F}
图书馆(knitr)
图书馆(潘德尔)
您还可以将pander
与broom
相结合,例如pander(broom::glance(out),split.table=Inf)
您应该检查一下如何使您的kable结果看起来更好我已经接受了@Hardik gupta的答案@daroczig使用Pander+Broom的评论也很不错,尽管它排除了out$data.name
variable@Hao谢谢你的有用链接。虽然它没有涵盖这个问题所涉及的统计测试(如prop.test
)输出的呈现,但我可以通过首先将输出转换为data.frame并将结果与kable
相结合来看到它的有用性,我喜欢编辑数据帧的自由度(例如,重新排序和重命名列)并进行渲染。这确实允许“直接输出”和“打印”版本将写入控制台中的,这很方便。Kable和Pander输出与我的示例相同。
---
title: "R Notebook"
output:
html_document:
df_print: paged
---
```{r, echo=F, message=F, warning=F}
library(knitr)
library(pander)
out <- prop.test(c(10,30), c(20,40))
asis_output("# Header \n")
asis_output(" \n## Straight output\n")
out # Only properly renders first line
asis_output(" \n## Print\n")
print(out) # Only properly renders first line
asis_output(" \n## Kable\n")
#kable(out) # Will fail: Error in as.data.frame.default(x) : cannot coerce class ""htest"" to a data.frame
kable(unlist(out)) # Renders everything but in an ugly way
asis_output(" \n## Pander\n")
pander(out) # Misses confidence interval.
asis_output(" \n As you can see, Pander misses some information, such as the confidence interval")
```