标签: kable

使用 kable 或 kableExtra 左对齐表格标题

是否可以左对齐表格标题?我对 APA6th 规则感到恼火,但我必须以某种方式左对齐表格标题。

以这张表为例:

library(knitr)
library(kableExtra) 

kable(mtcars[1:10, 1:6], format = "latex", caption = "I need this left-aligned.", booktabs = T) %>% 
      kable_styling(position = "left") %>%
      group_rows("Group 1", 4, 7) %>%
      group_rows("Group 2", 8, 10)
Run Code Online (Sandbox Code Playgroud)

标题将始终在表格上方居中,即使我将表格位置与kable_styling(position = "left").

编辑:请参阅此处了解至少对我有用的临时解决方案。

r r-markdown kableextra kable

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

更改R的kable中的列宽不会更改标题的宽度

我正在使用kableRMarkdown中创建我的数据表.您可以使用column_spec命令调整列宽,但是这似乎只调整数据的列本身,但是也不调整标题行的列宽.所以现在我的标题不再与其关联的数据列对齐.

例如:

    y <- knitr::kable(head(mtcars), "html")
    column_spec(y, 1:4, width="5em")
Run Code Online (Sandbox Code Playgroud)

r knitr kableextra kable

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

使用 r Markdown、kable 和 kableExtra 呈现表格的问题

我正在尝试使用 r markdown、kable 和 kableExtra 输出乳胶表。我在表格渲染代码中收到一个错误,该错误不是由 R 生成的乳胶代码的一部分。

编码:

outTab <- m.OutTab %>%
    kable(format='latex',  booktabs=T ,
          #caption = "Population Trend",
          digits=1, 
          row.names=FALSE, 
          align='lccccc', 
          col.names = names_spaced,
          escape = FALSE)
Run Code Online (Sandbox Code Playgroud)

其中“m.OutTab”是一个包含要渲染的表格的矩阵,

错误:

Error producing PDF.
! Misplaced \noalign.
\addlinespace ->\noalign 
                         {\ifnum 0=`}\fi \@ifnextchar [{\@addspace }{\@addsp...
l.116    \addlinespace

Error: pandoc document conversion failed with error 43
Run Code Online (Sandbox Code Playgroud)

这些代码(“\noalign ...”)不是“outTab”的一部分。

知道如何解决此错误吗?

markdown r kableextra kable

6
推荐指数
2
解决办法
4948
查看次数

RMarkdown kable 垂直对齐单元格

我正在使用 RMarkdown 编写报告,并使用 kable 和 kableExtra 来格式化和打印表格。这是我想要的表格看起来像(在 Word 中制作的):

中间单元格对齐

我正在努力对垂直居中进行排序("Number of Incident Occurences"顶部和底部之间的空间,以便文本在行的中间对齐,在列的左侧。

请注意,我正在创建 PDF 报告而不是 html。

这是一个最小的例子:

df <- data.frame(a = letters[1:5], b = 1:5)
names(df) <- c("A very very very very very very very very very very very very very very very very very very long title",
               "A short title")

df %>% kable(format = 'latex', linesep = "", align = 'c', escape = F) %>% kable_styling(full_width = T)
Run Code Online (Sandbox Code Playgroud)

这是输出的样子:

在此处输入图片说明

垂直对齐似乎正在推向顶部。我遇到了“m”,但这只是中间对齐列。我想知道我是否需要为所有行指定一些特殊的东西是 row_spec() align = "m",但是当我这样做时,它会抱怨......有什么想法吗?

latex r-markdown kableextra kable

6
推荐指数
3
解决办法
4868
查看次数

在 HTML 和 Word 输出之间进行 rmarkdown 的简单方法?

我创建了一些表格(使用knitr& kableExtra),在我使用output: html_document时效果很好,但是当我尝试使用output: word_document表格中每个单元格的内容呈现它们时,会打印到 Word 文档中的连续新行上。

是否有:

  1. 一种重新格式化表格的简单方法,以便我可以在设置时复制它们output: word_document或者
  2. 一个包可以制作 Word 友好的表格,使我能够复制kableExtra::add_header_abovekableExtra::indent_row功能?

Reprex 生成的表 output: word_document

---
title: "A tale of two tables"
output: word_document
---
```{r global_options, R.options=knitr::opts_chunk$set(warning=FALSE, message=FALSE)}
```

```{r two-tables, results='asis', echo=FALSE}
library(tidyverse)
library(knitr)
library(kableExtra)
library(formattable)

a <- tribble(~location, ~'Month (persons)', ~'TTY (persons)', ~'TTY % change',
       'new_south_wales',1604,40328,3.3,
       'victoria',-2118,13415,3.5,
       'queensland',214,10023,3.2,
       'south_australia',1969,11787,5.0,
       'western_australia',531,1316,1.6,
       'tasmania',-887,2428,1.9,
       'northern_territory',-44,570,2.4,
       'australian_capital_territory',32,-434,-3.1,
       'australia',78,1060,4.8)

b <- tribble(~series,~Dec,~Jan,~TTY,
       'FT employed', 12700, 49800, 293200, …
Run Code Online (Sandbox Code Playgroud)

r ms-word knitr r-markdown kable

6
推荐指数
0
解决办法
660
查看次数

如何在列标题中使用希腊字母在 rmarkdown 中创建表格?

我正在尝试在 rmarkdown 中创建一个表kablekableExtra并且我想在add_header_above函数中放入希腊字母。

kable(a, format = "latex", booktabs = T, longtable = T) %>% 
kable_styling() %>%
add_header_above(c("n", "$\\alpha$", "Estimates for $\\alpha$" = 4, 
"Estimates for $\\beta$" = 4), align = "l", escape = F)
Run Code Online (Sandbox Code Playgroud)

这里

我尝试使用escape = Flike here,但它似乎不适用于希腊字母。

我希望在我的 rmarkdown 文档中使用这种样式的表格,并在列标题中使用希腊字母。有没有办法做到这一点与kablekableExtra,甚至用其他方法?

我的数据:

a <- structure(list(c("5", "", "", "", ""), c(0.1, 0.25, 0.5, 1, 2
), MLE = c(0.0839, 0.2082, 0.4194, 0.8237, 1.6201), MME = c(0.0839, 
0.2082, 0.4194, …
Run Code Online (Sandbox Code Playgroud)

r knitr r-markdown kable

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

在 RMarkdown 表中引用

我正在尝试创建一个表,其中包含内置于表中的引文。这是我试图实现的目标的视觉效果。

期望的输出

据我所知,您只能在中rowvarscolvars中添加脚注kableExtra(喜欢那个包)。

# Create a dataframe called df
Component <- c('N2','P3')
Latency <- c('150 to 200ms', '625 to 800ms')
Location <- c('FCz, Fz, Cz', 'Pz, Oz')
df <- data.frame(Component, Latency, Location)
Run Code Online (Sandbox Code Playgroud)

以下是我在阅读kableExtraGit 页面后的尝试

# Trying some code taken from the kableExtra guide
row.names(df) <- df$Component
df[1] <- NULL
dt_footnote <- df
names(dt_footnote)[1] <- paste0(names(dt_footnote)[2],
                                footnote_marker_symbol(1))

row.names(dt_footnote)[2] <- paste0(row.names(dt_footnote)[2], 
                                footnote_marker_alphabet(1))
kable(dt_footnote, align = "c", 
      # Remember this escape = F
      escape = F, …
Run Code Online (Sandbox Code Playgroud)

latex r-markdown kableextra kable

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

knitr在渲染html时将(1)更改为<ol>?

.Rmd文件的以下内容:

---
title: "Untitled"
output:
  html_document: default
---

```{r cars}
mtcars$am <- sprintf("(%s)", as.character(mtcars$am))
knitr::kable(mtcars, format = "html")
```
Run Code Online (Sandbox Code Playgroud)

在渲染到html之后,将显示列<ol><li></li></ol>中的有序列表am,而不是括号中的数字(由生成的数字sprintf).

这是有意的吗?我如何解决这个问题并在括号中显示数字,因为它们在html输出中?

输出knitr::kable似乎很好,显示:

<td style="text-align:left;"> (1) </td>

细节:

  • 使用knitr 1.20
  • RStudio Server 1.1.453
  • 请注意删除format = "html"不能解决问题,因为在现实生活中,我想用css进行高级格式化,例如基于生成的表的类

基于Michael Harper接受的答案的快速解决方案可能是这样的方法:

replacechars <- function(x) UseMethod("replacechars")
replacechars.default <- function(x) x
replacechars.character <- function(x) {
  x <- gsub("(", "&lpar;", x, fixed = TRUE)
  x <- gsub(")", "&rpar;", x, fixed = TRUE)
  x
}
replacechars.factor …
Run Code Online (Sandbox Code Playgroud)

r knitr r-markdown kable

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

R kable linebreak 切断条纹颜色

下面是一个代码示例。我的问题是带有换行符的行的背景颜色被缩短。知道如何解决这个问题吗?我尝试限制列宽,这达到了目的,但存在其他不需要的副作用,例如对齐每个单元格顶部的所有单元格值,并且由于此最终表的宽度必须是动态的,我不想强​​制一定的列宽。感谢您的任何帮助。

---
title: "For Stackoverflow"
output:
  pdf_document:
    latex_engine: xelatex
header-includes:
- \usepackage{booktabs}
- \usepackage{longtable}
- \usepackage{array}
- \usepackage{multirow}
- \usepackage{wrapfig}
- \usepackage{float}
- \usepackage{colortbl}
- \usepackage{pdflscape}
- \usepackage{tabu}
- \usepackage{threeparttable}
- \usepackage{threeparttablex}
- \usepackage[normalem]{ulem}
- \usepackage{makecell}
- \usepackage{xcolor}
- \usepackage{fontspec}
---


```{r message=FALSE, warning=FALSE}

library(dplyr)
library(kableExtra)

data <- data.frame(c('1','2','3','4','5'),c('a','b','A long line with no break that makes the column long','Value that needs \n break'
                                    , 'another value that needs \n break'))
names(data) <- c('Column 1', 'Column 2')

data <- data %>% …
Run Code Online (Sandbox Code Playgroud)

latex r r-markdown kableextra kable

6
推荐指数
0
解决办法
328
查看次数

将 kableExtra 表与 ggplot2 元素结合起来

我有一个 ggplot2 元素和一个 KableExtra 表。是否可以将它们与 patchwork、cowplot 或任何其他包组合成一个对象,并将其打印在 rmarkdown 文档中?如果没有解决方案,是否有任何其他带有 html 或 Latex 设计的表格包,我可以用它来解决这个问题?

是否可以使用自定义块(https://bookdown.org/yihui/rmarkdown-cookbook/custom-blocks.html)将这些元素连接在一起?我尝试过但没有成功。

将表格作为 custom_annotation 添加到 ggplot 对我来说不起作用,因为我想将许多表格和绘图添加到同一元素。

> dt_example <- data.table(index = c('type', 'model', 'manufacturer', 'time', 'revolutions', 'element', 'fluid'), object = c('B12', 'Schullo', 'GM', '5 h', '54 k', 'XX', 'water'))
> dt_example
          index  object
1:         type     B12
2:        model Schullo
3: manufacturer      GM
4:         time     5 h
5:  revolutions    54 k
6:      element      XX
7:        fluid   water

kable_table <- dt_example %>% 
    kable(col.names = c('',''), format = …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 r-markdown kableextra kable

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

标签 统计

kable ×10

r ×8

r-markdown ×8

kableextra ×7

knitr ×4

latex ×3

ggplot2 ×1

markdown ×1

ms-word ×1