【发布时间】:2020-12-11 14:26:45
【问题描述】:
经过几天的努力寻找解决方案,我放弃并寻求帮助。
我最近决定使用 R Markdown。虽然我可以根据需要渲染绘图,但我无法成功在 pdf 文档中正确渲染我的表格。
这里对应的[EDITED]代码:
---
title: "My_title"
output:
pdf_document: default
html_document:
df_print: paged
params:
date: "!r Sys.Date()"
---
```{r library, echo=F, message=F, warning=F, paged.print=FALSE}
suppressMessages(library("knitr"))
suppressMessages(library(reshape2))
suppressMessages(library(splines))
suppressMessages(library(kableExtra))
suppressMessages(library(gplots))
```
```{r, setup, echo = F}
opts_knit$set(root.dir = "my_path")
knitr::opts_chunk$set(echo = F)
```
```{r}
dt <- expand.grid(Region=c("a","b","c"), Country=c("d","e","f"), Cancer= c("All", "CRC", "Breast"),
age.1.1=1:2,
age.1.2=1:2,
age.1.3=1:2)
```
```{r Table_1, INCLUDE = TRUE}
cancer.lab <- c("All", "CRC", "Breast")
for (i in 1:3){
b <- dt[dt$Cancer==cancer.lab[i],]
b <- b[,-3]
t <- kable(b, format = ,caption = "Fig", row.names = F) %>%
kable_paper() %>%
kable_styling(font_size = 9) %>%
add_header_above(c(" " = 2, "1998" = 3))
print(t)
}
```
我还是个新手,我肯定会错过一些东西。
如果它可以解释某些事情,我会使用 Mac。
感谢您的帮助。
苏菲。
【问题讨论】:
-
不要将表分配给变量。删除最后的
print语句。换句话说,b.wide %>% kable(...) %>% kableStyling(...)而不是t.eapc <- b.wide %>% kable(...) ...。 -
仅供参考,您应该几乎总是使用
library,而不是require。当包不可用时,后者永远不会停止跟踪代码,这几乎不是预期的。参考:stackoverflow.com/a/51263513 -
谢谢你,莱米。我打印了表格输出,因为它根本没有出现在以其他方式创建的 pdf 中。
-
感谢 r2evans 提供此信息。我不得不承认我从来没有理解过两者之间的区别。我现在将使用库。
-
您需要向我们展示一份完整的文件。您在顶部的“YAML”和块选项中放置的选项很重要。除了应该生成表格的块之外,您可以删除其他所有内容。
标签: r pdf r-markdown