标签: r-markdown

使用 R-markdown 为 PDF 创建表格输出

如何使用kableRmarkdown 中的函数为 PDF 报告创建格式化表格?这是一个 MWE:

library(knitr)

df <- data.frame(bucket = 1:11,
                 value = c(-0.8125594, -0.7590050, -0.7189301, -0.7188391, -0.5047816,
                           -0.3439579, -0.4376782, -0.1300217, 0.9145718, 2.1844290,
                           4.8374356))

print(kable(df))
Run Code Online (Sandbox Code Playgroud)

输出:

| bucket|      value|
|------:|----------:|
|      1| -0.8125594|
|      2| -0.7590050|
|      3| -0.7189301|
|      4| -0.7188391|
|      5| -0.5047816|
|      6| -0.3439579|
|      7| -0.4376782|
|      8| -0.1300217|
|      9|  0.9145718|
|     10|  2.1844290|
|     11|  4.8374356|
Run Code Online (Sandbox Code Playgroud)

我正在尝试将其格式化为具有良好视觉效果的 PDF,如所附图片:

我想在 PDF 中看到的输出

r r-markdown

1
推荐指数
1
解决办法
2万
查看次数

在 R markdown cell_spec 中使用 kableExtra 选择和着色单个表格单元格

我将 R markdown 与 LaTeX 结合使用来创建动态 PDF 报告。为了生成汇总表,我使用了kableExtra包。

我想更改单个单元格的样式。

示例:考虑 R 数据帧mtcars[1:10, 1:5]。使用它会被渲染成一些漂亮的表格:

kable(mtcars[1:10, 1:5], format="latex", booktabs = T)` 
Run Code Online (Sandbox Code Playgroud)

渲染表

现在我想更改某些单元格的样式。说的第二和第八入口MPG应该是绿色的,第4和第5 DISP应该是橙色和斜体字和最后四个项目DRAT应该是红色和大胆。并且无论单元格中有哪些条目,都应该是相同的单元格。

我完全了解文档和示例,例如特定于行和列的着色。但是cell_spec的文档处理取决于单元格值的条件逻辑,而我想独立地为单元格着色。

pdf knitr r-markdown kableextra

1
推荐指数
1
解决办法
7227
查看次数

您能否在 RMarkdown 中将 Kable 的表格/图形标题左对齐或加粗?

我正在使用 RMarkdown 编写可重现的报告,但是,我正在寻找有关如何在使用 Kable 时更改表格/图形标题的理由的指导?

另外,您能否将表 1:标题的组成部分加粗斜体

knitr::kable(head(iris), 'latex', caption = 'Title of table',
             booktabs = TRUE) %>%
  kableExtra::kable_as_image()
Run Code Online (Sandbox Code Playgroud)

此代码将生成一个通常看起来不错的表。但是,我想将标题左对齐并加粗文本“Table 1:”,它自动出现在我的表格标题之前。

谢谢你的帮助。

r knitr r-markdown kableextra kable

1
推荐指数
1
解决办法
2699
查看次数

表格太宽,无法放入 Markdown 生成的 PDF

我正在尝试使用 Rmarkdown 将 SQL 查询中的表显示为 pdf。但是,我得到的表格太宽,不适合文档。

我被推荐使用 Pander 包,因此我尝试使用 pandoc.table() 函数,该函数在控制台上效果很好,但由于某种原因,它阻止了我的文档在 Rmarkdown 中呈现。

代码看起来有点像这样:

rz = dbSendQuery(mydb, "select result.id result_id, company.id company_id, (...)")
datz = fetch(rz, n=-1)
Run Code Online (Sandbox Code Playgroud)

这是一个很长的查询,但正如我所说,它适用于 MySQL 和 R 控制台(在 RStudio 上工作)。

所以,当我做

kable(datz, "latex", col.names = c(colnames(datz)), caption=paste('This is a sample table')) %>% kable_styling(latex_options = "striped") %>% column_spec(1, bold = T, color = "red"))
Run Code Online (Sandbox Code Playgroud)

打印的结果太宽而无法放入 PDF。

我不知道我该如何解决这个问题。我尝试使用 pander 包中的 pandoc.tables(),但与我在 kable 中的选项相比,结果的格式似乎非常简陋。

mysql markdown r r-markdown kable

1
推荐指数
1
解决办法
2819
查看次数

列表中每个元素的 Knitr / kable 标题

我目前必须.pdf使用R Markdown. 我正在使用该knitr包将我的数据帧“转换”为 LaTeX。我通常这样做没有问题,但这次我不太确定如何解决我的问题。

我需要获取列表中每个元素(某些数据框)的标题,以在.pdf文件中显示为标题。

这是我拥有的数据示例:

library(knitr)
library(kableExtra)

df1 <- data.frame(col1 = c(1,2,3), col2 = c("a", "b", "c"))
df2 <- data.frame(col1 = c(6,7,8), col2 = c("d", "e", "f"))
list <- list("df1" = df1, "df2" = df2)

print(list)

$`df1`
  col1 col2
1    1    a
2    2    b
3    3    c

$df2
  col1 col2
1    6    d
2    7    e
3    8    f
Run Code Online (Sandbox Code Playgroud)

我的knitrkableExtra代码:

my_function <- function(list){
    kable(list, "latex", longtable …
Run Code Online (Sandbox Code Playgroud)

r knitr r-markdown kableextra kable

1
推荐指数
1
解决办法
1249
查看次数

密码保护 Bookdown 文档

我想使用R Bookdown创建一个应该与其他人共享的技术描述文档。但是,不应该对每个人都可见。

有没有一种简单的方法可以在线发布具有密码保护的 Bookdown 文档?

publish r r-markdown bookdown

1
推荐指数
1
解决办法
463
查看次数

更改 Flexdashboard 中激活页面的颜色

我的 flexdashboard 有问题。我想将具有多个页面的仪表板的导航栏颜色更改为灰色(我成功了),并将活动/选定页面或悬停页面的颜色更改为黄色(我不能这样做)。这是我使用的代码。我不确定如何找到可以更改的导航栏元素的名称,以便更改导航栏。

---
title: "Example"
output: 
  flexdashboard::flex_dashboard:
    vertical_layout: fill
---
<style>                     
.navbar {
  background-color:grey;
  hover-color:yellow;
}

</style> 
Run Code Online (Sandbox Code Playgroud)

背景显示为灰色(就像我想要的那样),但我悬停在所选页面或页面上的页面保持蓝色。有谁知道如何处理这个问题?非常感谢!

css r r-markdown flexdashboard

1
推荐指数
1
解决办法
1347
查看次数

如何使用 rmarkdown 使绘图图表调整到页面宽度?

我有一篇 R 博客文章,其中包含一些传单和情节图。我可以width = "100%"leaflet()函数中进行设置,当我调整浏览器窗口(或在移动设备上查看)大小时,传单地图会改变形状。我已经在 中尝试过相同width = "100%"的方法plot_ly(),但是对于较小的窗口,绘图不会调整大小,并且需要水平滚动。

有任何想法吗?如果有帮助,我正在使用 blogdown/hugo。

r r-markdown plotly hugo blogdown

1
推荐指数
1
解决办法
822
查看次数

Rmarkdown 和 Renv 的可重复性问题

我最近注意到相同的 R markdown 文档在不同条件下(例如不同项目)运行时会生成不同的图。作为一个玩具示例,请考虑以下文档:

---
title: "Example"
output:
  html_document
---

```{r plot, warning=FALSE, echo=FALSE}
library("tidyverse")
tibble(mu = c(-9.4, -9.3, -9.2, -9, -8.9, -8.8, -8.7, -8.5, -8.4, -8.3, 0),
       N = c(1, 2, 1, 1, 1, 3, 1, 1, 1, 1, 3)) %>%
  ggplot() +
  geom_point(aes(x=mu, y=N)) + 
  geom_bar(aes(x=mu, y=N), stat="identity", fill="grey", colour="black", width=0.1) +
  theme(panel.background=element_blank(),
        axis.title=element_text(size=20),
        axis.text=element_text(size=15))
```
Run Code Online (Sandbox Code Playgroud)

它应该产生一个像下面这样的情节,有时我会成功并得到它:

在此处输入图片说明

然而,其他时候,我得到了这个替代版本,这是无稽之谈:

在此处输入图片说明

我注意到在加载tidyverse包后,有些版本是不同的。例如,第一个 ggplot 是 3.2.1,而后者是 3.3.0。这后来有一个不同的版本号,因为它是在使用 Renv 的 R 项目中单独维护的。

好的,会不会是版本号不同?即使考虑到我很久以前就知道这个包的这些不同版本,我也很难理解在任何ggplot 版本中给定此代码如何生成第二个图。如果不是版本号,是否有可能导致此问题的任何提示?

r ggplot2 r-markdown tidyverse renv

1
推荐指数
1
解决办法
68
查看次数

如何摆脱 Rmd 中 geom_smooth 的评论?

在 R Markdown 中使用ggplot2's 时geom_smooth,我得到了评论

## `geom_smooth()` using formula 'y ~ x'
Run Code Online (Sandbox Code Playgroud)

即使我echo = FALSE, warning = FALSE, messages = FALSE在代码块头中包含:

评论和 ggplot

我怎样才能摆脱它?

例子:

---
title: "Test"
output: ioslides_presentation
---

## Title

```{r cars, echo = FALSE, warning = FALSE, messages = FALSE}
library(ggplot2)
ggplot(cars, aes(speed, dist)) +
  geom_point() +
  geom_smooth(method=lm)
```
Run Code Online (Sandbox Code Playgroud)

r ggplot2 knitr r-markdown

1
推荐指数
1
解决办法
773
查看次数