标签: kable

kableExtra:表格脚注中的超链接

我看了这个问题,但给定的方法似乎不适用于脚注(参见 MWE)。我想知道如何使用 package.json 在表格脚注中添加超链接kableExtra

knitr::kable(
              x       = mtcars[1:4, 1:5]
            , format  = "latex"
            , caption = "Table Caption with hyperlink[note]"
            , escape  = FALSE
            ) %>%
  kableExtra::add_footnote("\\href{https://github.com/haozhu233/kableExtra}{kableExtra}")
Run Code Online (Sandbox Code Playgroud)

r knitr kableextra kable

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

R: 条件高亮 kable

假设我有一个这样的矩阵:

set.seed(1234)
x = rnorm(10, mean=0, sd=1)
y = rnorm(10, mean=0, sd=1)
z = rnorm(10, mean=0, sd=1)
data=data.frame(rbind(x,y,z))
Run Code Online (Sandbox Code Playgroud)

有什么方法可以在不指定列的情况下突出显示所有某些单元格(例如在这种情况下为 >0)?

我的预期结果是这样的(仅突出显示正值):

例子

在实际情况下,我有大约 30 列,如果我尝试对每一列进行 column_spec 一一列,它会筋疲力尽:

data %>%
  column_spec(X1, color = "red") %>%
  column_spec(X2, color = "red")
Run Code Online (Sandbox Code Playgroud)

......

谢谢!

latex r kable

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

kable/kableExtra 在 group_rows 中为组标签添加上标

我有一个使用 kable 和 kableExtra 为 pdf 演示文稿创建的表格。我想对行进行分组,并且需要在行组标签中使用上标。我尝试了几种不同的方法。这是我迄今为止尝试过的一些方法的示例。

library(kable)
library(kableExtra)

foo <- data.frame(a = 1:10, b = 11:20, c = 21:30)

kable(foo, format = "latex", booktabs = T, row.names = FALSE, linesep = "", escape = FALSE) %>%
  kable_styling(latex_options = c("striped")) %>%
  group_rows("Group1<sup>a</sup>", 1, 2) %>% 
  group_rows(paste0("Group2", footnote_marker_alphabet(1), sep = ""), 3, 4) %>% 
  group_rows(expression("Group3"^a), 5, 6) %>% 
  group_rows("Group4\\textsuperscript{a}", 7, 8)
Run Code Online (Sandbox Code Playgroud)

我的想法已经用完了,并且无法在我的搜索中找到任何其他建议。

r knitr r-markdown kableextra kable

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

带有图像的多个 Kable 表

我正在尝试使用kablecsv 文件创建多个表,但要求是我还需要按照下图将图像放入表中。整个图像需要在左列中。这可能吗?

样本输出

数据框如下所示:

df<-data.frame(Amount= c('$25', '$45', '$75'), 
               Rate = c('1%', '1%', '3%'), 
               Location = c('Germany', 'Switzerland', 'England'),
               ImageName= c('GE.png', 'BE.png', 'CE.png'),
               Status = c('Sold','Unsold','Sold')
               )
Run Code Online (Sandbox Code Playgroud)

到目前为止,我的 R 代码是

---
output: 
  word_document:
    reference_docx: ReferenceDoc.docx
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)

df<-read.csv('Productdata.csv')
```

```{r loops, echo=F, results='asis'}
library(knitr)
for (i in 1:nrow(df))
{

print(kable(df[i,]))
}
```
Run Code Online (Sandbox Code Playgroud)

我真的不知道如何在我的 RMarkdown for WORD 中输入这样的图像。

r ms-word r-markdown kableextra kable

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

html kable_styling 不显示 for 循环中的输出

我想在 for 循环中使用 kable 在 HTML rmarkdown 中生成大量表格。我一直在寻找解决方案,其中大多数都是使用 kable 代码周围的包装打印来解决的。但是当我想用 kable_styling 生成 html 表输出时,这个解决方案不起作用!例如:

table <- tibble(a = c(1:10),
            b = letters[1:10])


for(each in 1:2) {

print(table %>%
  kable())

  cat("<br>")

}

Run Code Online (Sandbox Code Playgroud)

这会生成两个简单的表。

但是当我尝试时:

table <- tibble(a = c(1:10),
            b = letters[1:10])


for(each in 1:2) {

print(table %>%
  kable() %>%
    kable_styling("striped"))

  cat("<br>")

}
Run Code Online (Sandbox Code Playgroud)

什么都没发生!这仅适用于 html 输出。用乳胶就可以了。我应该怎么办?

r r-markdown kableextra kable

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

是否可以 rmarkdown::render 带有样式的 kable 表的 pdf_document?

我正在尝试在脚本中渲染 Rmd 文件:

rmarkdown::render("Test.Rmd")

当我编织文件本身时效果很好,但如果它包含 kable_styling 选项,例如

```{r, echo = FALSE}
library(kableExtra)
dt <- mtcars[1:5, 1:6]
kable(dt, align = "c", format="latex", booktabs=T) %>% 
  kable_styling(latex_options=c("striped", "scale_down"), font_size = 7, html_font = "Times New Roman")
#three backticks to close
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

! LaTeX Error: Unknown float option `H'.
Run Code Online (Sandbox Code Playgroud)

我已经尝试了每个参数本身,但只有当我删除整行时它才会运行。

有没有解决的办法?我想使用渲染,以便我可以动态生成文件名 - 也许有更好的方法?

latex r knitr r-markdown kable

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

Rmarkdown正在打印针织PDF中的乳胶代码

我正在运行一个奇怪的结果。我在 Rmarkdown 的文档中插入了一些表格。这是 YAML:

---
output:
  pdf_document:
    toc: true
    toc_depth: 2
    number_sections: true
header-includes:
 \usepackage{float}
 \floatplacement{figure}{H}
 \floatplacement{table}{H}
---
Run Code Online (Sandbox Code Playgroud)

第一个块:

{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE,
                      fig.pos = "H",
                      fig.width=8,
                      fig.height=7,
                      tab.pos = "H",
                      collapse = TRUE,
                      message = FALSE,
                      warning = FALSE,
                      comment = "#>"
)

knitr::opts_knit$set(root.dir = rprojroot::find_rstudio_root_file())

options(knitr.kable.NA = "-")
Run Code Online (Sandbox Code Playgroud)

表的插入方式如下:

kable(tableX, caption = "Caption", booktabs = TRUE) %>% 
  row_spec(0, bold=TRUE) %>% 
  kable_styling(bootstrap_options = "condensed") %>% 
  column_spec(1, italic = TRUE)
Run Code Online (Sandbox Code Playgroud)

现在,大多数表格都已正确插入,但只有一个表格用乳胶代码打印,\begin{table},然后是\caption{},然后是表格,最后是\end{table}。怎么可能以这种方式打印一张表格,并且代码相同?

谢谢

pdf latex knitr r-markdown kable

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

Rmarkdown中用于电缆的工具提示/弹出框

我为此使用kableExtra。我的数据集:

data = data.frame(REASON_CODE = c('V312A','UW32E','R312D'), REASON_DESCRIPTION = c('MISTAKE','ACCIDENT','INTENTIONAL'))
Run Code Online (Sandbox Code Playgroud)

由于原因描述要长得多,因此我尝试将其作为原因代码中每个单元格的工具提示/弹出消息。我当前的代码:

data$REASON_CODE = text_spec(x = data$REASON_CODE,'tooltip',format = 'html', tooltip = data$REASON_DESCRIPTION) 
kable(data[,1])
Run Code Online (Sandbox Code Playgroud)

我看到错误,因为它在我的输出中打印完整的html。

<span style=" NA    TRUE" data-toggle="tooltip" data-placement="right" title="MISTAKE">V312A</span>
Run Code Online (Sandbox Code Playgroud)

我不确定自己犯的错误是什么,这种事情有哪些可能的选择?

r knitr r-markdown kableextra kable

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

使用RMarkdown将带有颜色和unicode字符的kableExtra表渲染为PDF

我最近学会了如何使用包含unicode符号的kableExtra创建令人敬畏的表,以便它们可以作为我的绘图的解释表.

library(dplyr)
library(kableExtra)

data.frame(
  Symbol = c("&#9679;", "&#9679;", "&#9650;"),
  Description = c("bla bla bla", "bla bla bla", "bla bla bla"),
  Result = c("bla bla bla", "bla bla bla", "bla bla bla")
) %>%
  mutate(
    Symbol = cell_spec(Symbol, color = c("yellow", "pink", "pink"), escape = F)
  ) %>%
  kable(escape = F, align = c("c", "l", "l")) %>%
  kable_styling(full_width = F)
Run Code Online (Sandbox Code Playgroud)

结果在漂亮的表中看起来像这样: 在此输入图像描述

我现在想把它自动渲染成PDF,但是当我把这个确切的代码粘贴到一个RMarkdown文件集中编织成PDF时,这让我陷入长达一小时的试图调试与unicode角色相关的乳胶错误的兔子洞在表中,颜色规范中的数字符号引起问题,脚注,错误! Misplaced \noalign.表明我还没有找出来源等.

我将在此末尾包含完整Rmd文件的文本.我在Mac上,如果这有所作为.使用BasicTex和tlmgr安装缺少的乳胶包.

有没有(1)一种方法来保存我的kableExtra表,它看起来在RStudio中呈现时我想要的是一个可扩展的PDF文件,它不涉及RMarkdown?我write2pdf()今天玩了这个功能,但又遇到了unicode问题.我也尝试将它编织成html并通过调用转换它pandoc,但这删除了我需要的大部分表格式.

也许我错过了一些简单的解决方案,但是......或者(2)是否有人能够告诉我哪些更改会使这个Rmd代码正确地将我的图表呈现为PDF?R代码本身工作正常.我想这是某种乳胶问题.

非常感谢您的帮助.

---
title: ""
output:
  pdf_document:
    latex_engine: xelatex …
Run Code Online (Sandbox Code Playgroud)

latex r knitr r-markdown kable

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

rmarkdown&kable / kableextra:使用转义符= F时在表中打印%符号

我想使用rmarkdwon和kable在pdf文档中创建表格。在标题中必须有一个换行符,因此,我需要设置escape =F。表本身包含百分比值作为字符串,其中包括%符号(例如:“ 13%”)。我在这里https://tex.stackexchange.com/questions/34580/escape-character-in-latex发现%是La(Tex)中的特殊字符,我必须使用\%排除它。但是如何在R中创建和存储字符串“ \%”?我尝试了以下方法,但对我没有任何帮助:

gsub("%", "\%", c("14%", "15%", "16%"))
Error: '\%' is an unrecognized escape in character string starting ""\%"

gsub("%", "\\%", c("14%", "15%", "16%"))
[1] "14%" "15%" "16%"

> cat("\\%")
\%

gsub("%", cat("\\%"), c("14%", "15%", "16%"))
\%
Error in gsub("%", cat("\\%"), c("14%", "15%", "16%")) : 
  invalid 'replacement' argument
Run Code Online (Sandbox Code Playgroud)

有人知道这个问题的解决方案吗?

提前致谢

编辑:这是我的问题的一些示例代码:

编辑的编辑:在我组成的data.frame testtable中,我忘了设置stringAsFactors =F。那是造成我的真实数据结果差异的原因。我已经将其添加到代码中并更新了输出图片

    ---
    title: "Table with % and linbebreak"
    output:
      # html_document: default
      pdf_document:
        keep_tex: yes
      fig_caption: yes
    lang: de
    ---


    ```{r setup, include=FALSE}
    knitr::opts_chunk$set(echo …
Run Code Online (Sandbox Code Playgroud)

latex r r-markdown kableextra kable

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

标签 统计

kable ×10

r ×9

r-markdown ×8

kableextra ×6

knitr ×6

latex ×5

ms-word ×1

pdf ×1