我无法弄清楚为什么Rmd doc中的表格无法正确呈现。 我的第一次尝试是标准的Rmd语法:
k | Normal | Tschebyschev
------------- | ------------- | -------------
2 | `r round(100*(2*pnorm(-2)))` % | `r round(100*(1/2^2))` %
2.5 | `r round(100*(2*pnorm(-2.5)))` % | `r round(100*(1/2.5^2))` %
3 | `r round(100*(2*pnorm(-3)),1)` % | `r round(100*(1/3^2),1)` %
4 | `r round(100*(2*pnorm(-4)),2)` % | `r round(100*(1/4^2),1)` %
表示没有表格边框或结构。 走向迎面而来的路线也是不成功的:
```{r, echo=FALSE, results='asis'}
k=c(2,2.5,3,4);
Normal=round(100*(2*pnorm(-k)),2)
Normal[1:2] = round(Normal[1:2])
Tschebyschev=round(100*(1/k^2),1)
Tschebyschev[1:2] = round(Tschebyschev[1:2])
Normal = paste(Normal, "%")
Tschebyschev = paste(Tschebyschev, "%")
pM = cbind(k=as.character(k),Normal=Normal,Tschebyschev=Tschebyschev)
library(pander)
pandoc.table(pM, style = "grid")
```
我的html输出如下所示
任何帮助都会非常有用
由于
答案 0 :(得分:0)
表格中有几个选项:
首先,手动构建的表呈现给我。您包含哪些标题信息,尤其是在output: html_document
这是我的:
---
title: "Untitled"
output: html_document
---
k | Normal | Tschebyschev
------------- | ------------- | -------------
2 | `r round(100*(2*pnorm(-2)))` % | `r round(100*(1/2^2))` %
2.5 | `r round(100*(2*pnorm(-2.5)))` % | `r round(100*(1/2.5^2))` %
3 | `r round(100*(2*pnorm(-3)),1)` % | `r round(100*(1/3^2),1)` %
4 | `r round(100*(2*pnorm(-4)),2)` % | `r round(100*(1/4^2),1)` %
如果这不起作用,那么尝试添加一些像这样的CSS来控制它们的边界(并不严格确定所有这些都是必需的):
---
title: "Untitled"
output: html_document
---
<style>
table {
border-collapse: collapse;
}
table, th, td, thead, tbody{
border: 1px solid black;
}
thead {
border-bottom: solid black;
}
</style>
至于其他选项,我的转到kable
(使您的pM
对象与手动表相同),如果您还安装了kable.extras
,则可以获得更多控制权再次对表格样式。
对我来说,如果没有pandoc.table
选项,"grid"
样式会更好。
DT
(数据表)包也是一个很好的选择,特别是对于较长的表。使用datatable(pM)
时,可以过滤和搜索表格。
但是所有这些都会响应CSS代码,因此如果设置不正确,那么您可能会遇到可读性方面的问题。