如何使用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,如所附图片:
我将 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的文档仅处理取决于单元格值的条件逻辑,而我想独立地为单元格着色。
我正在使用 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:”,它自动出现在我的表格标题之前。
谢谢你的帮助。
我正在尝试使用 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 中的选项相比,结果的格式似乎非常简陋。
我目前必须.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)
我的knitr和kableExtra代码:
my_function <- function(list){
kable(list, "latex", longtable …Run Code Online (Sandbox Code Playgroud) 我想使用R Bookdown创建一个应该与其他人共享的技术描述文档。但是,不应该对每个人都可见。
有没有一种简单的方法可以在线发布具有密码保护的 Bookdown 文档?
我的 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)
背景显示为灰色(就像我想要的那样),但我悬停在所选页面或页面上的页面保持蓝色。有谁知道如何处理这个问题?非常感谢!
我有一篇 R 博客文章,其中包含一些传单和情节图。我可以width = "100%"在leaflet()函数中进行设置,当我调整浏览器窗口(或在移动设备上查看)大小时,传单地图会改变形状。我已经在 中尝试过相同width = "100%"的方法plot_ly(),但是对于较小的窗口,绘图不会调整大小,并且需要水平滚动。
有任何想法吗?如果有帮助,我正在使用 blogdown/hugo。
我最近注意到相同的 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 Markdown 中使用ggplot2's 时geom_smooth,我得到了评论
## `geom_smooth()` using formula 'y ~ x'
Run Code Online (Sandbox Code Playgroud)
即使我echo = FALSE, warning = FALSE, messages = FALSE在代码块头中包含:
我怎样才能摆脱它?
例子:
---
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)