我看了这个问题,但给定的方法似乎不适用于脚注(参见 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) 假设我有一个这样的矩阵:
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)
......
谢谢!
我有一个使用 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)
我的想法已经用完了,并且无法在我的搜索中找到任何其他建议。
我正在尝试使用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 中输入这样的图像。
我想在 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 输出。用乳胶就可以了。我应该怎么办?
我正在尝试在脚本中渲染 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)
我已经尝试了每个参数本身,但只有当我删除整行时它才会运行。
有没有解决的办法?我想使用渲染,以便我可以动态生成文件名 - 也许有更好的方法?
我正在运行一个奇怪的结果。我在 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}。怎么可能以这种方式打印一张表格,并且代码相同?
谢谢
我为此使用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)
我不确定自己犯的错误是什么,这种事情有哪些可能的选择?
我最近学会了如何使用包含unicode符号的kableExtra创建令人敬畏的表,以便它们可以作为我的绘图的解释表.
library(dplyr)
library(kableExtra)
data.frame(
Symbol = c("●", "●", "▲"),
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) 我想使用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)