换行列标题文本,column_spec 不适用于 kable_styling
Wrap Column title text, column_spec not working for kable_styling
我有一个正在打印的 table。我在 column_spec
函数中指定了列宽,但是我的列标题没有换行以适合指定的宽度。
代码如下所示;
kable(ranknew, format = "latex", row.names = FALSE,
align = c("c", "l", "r", "r", "r"),
caption = paste("We had", nrow(ranknew) ,
"brokerages give us 100+ new policies in", year(Sys.Date())-1),
longtable = TRUE, booktabs = TRUE) %>%
kable_styling(latex_options = c("HOLD_position", "repeat_header"), full_width = F, font_size = 9, position = "center") %>%
column_spec(column = 1, width = "3cm")%>%
column_spec(column = 2, width = "8cm") %>%
column_spec(column = 3, width = "2cm") %>%
column_spec(column = 4, width = "1.5cm") %>%
column_spec(column = 5, width = "1.5cm") %>%
row_spec(row = 0, bold = TRUE, underline = TRUE, background = "orange",
color = "black", italic = FALSE, monospace = FALSE, strikeout = FALSE) %>%
print(floating = FALSEFALSE, row.names = FALSE)
这是我的代码生成的结果:
显然我希望列标题换行。 column_spec
和 row_spec
的顺序没有区别。
在开头的 kable() 函数中添加 col.names() 并从 row_spec() 函数中删除下划线=TRUE。
kable(ranknew, format = "latex", row.names = FALSE,
col.names = c("Provinces","Brokerage Name","Written Pren....","Loss Ratio","New Business( Whatever comes here)"),
align = c("c", "l", "r", "r", "r"),
caption = paste("We had", nrow(ranknew) ,
"brokerages give us 100+ new policies in", year(Sys.Date())-1),
longtable = TRUE, booktabs = TRUE) %>%
kable_styling(latex_options = c("HOLD_position", "repeat_header"), full_width = F, font_size = 9, position = "center") %>%
column_spec(column = 1, width = "3cm")%>%
column_spec(column = 2, width = "8cm") %>%
column_spec(column = 3, width = "2cm") %>%
column_spec(column = 4, width = "1.5cm") %>%
column_spec(column = 5, width = "1.5cm") %>%
row_spec(row = 0, bold = TRUE, background = "orange",
color = "black", italic = FALSE, monospace = FALSE, strikeout = FALSE) %>%
print(floating = FALSEFALSE, row.names = FALSE)
这个例子适用于我的 iris 数据集。
library(knitr)
library(kableExtra)
library(tidyverse)
kable(iris, format = "latex", row.names = FALSE,
col.names = c("Provinces","Brokerage Name","Written Pren....","Loss Ratio","New Business( Whatever comes here)"),
longtable = TRUE, booktabs = TRUE) %>%
kable_styling(latex_options = c("HOLD_position", "repeat_header"), full_width = F, font_size = 9, position = "center") %>%
column_spec(column = 1, width = "3cm")%>%
column_spec(column = 2, width = "8cm") %>%
column_spec(column = 3, width = "2cm") %>%
column_spec(column = 4, width = "1.5cm") %>%
column_spec(column = 5, width = "1.5cm") %>%
row_spec(row = 0, bold = TRUE, underline = TRUE, background = "orange",
color = "black", italic = FALSE, monospace = FALSE, strikeout = FALSE) %>%
print(floating = FALSEFALSE, row.names = FALSE)
我有一个正在打印的 table。我在 column_spec
函数中指定了列宽,但是我的列标题没有换行以适合指定的宽度。
代码如下所示;
kable(ranknew, format = "latex", row.names = FALSE,
align = c("c", "l", "r", "r", "r"),
caption = paste("We had", nrow(ranknew) ,
"brokerages give us 100+ new policies in", year(Sys.Date())-1),
longtable = TRUE, booktabs = TRUE) %>%
kable_styling(latex_options = c("HOLD_position", "repeat_header"), full_width = F, font_size = 9, position = "center") %>%
column_spec(column = 1, width = "3cm")%>%
column_spec(column = 2, width = "8cm") %>%
column_spec(column = 3, width = "2cm") %>%
column_spec(column = 4, width = "1.5cm") %>%
column_spec(column = 5, width = "1.5cm") %>%
row_spec(row = 0, bold = TRUE, underline = TRUE, background = "orange",
color = "black", italic = FALSE, monospace = FALSE, strikeout = FALSE) %>%
print(floating = FALSEFALSE, row.names = FALSE)
这是我的代码生成的结果:
显然我希望列标题换行。 column_spec
和 row_spec
的顺序没有区别。
在开头的 kable() 函数中添加 col.names() 并从 row_spec() 函数中删除下划线=TRUE。
kable(ranknew, format = "latex", row.names = FALSE,
col.names = c("Provinces","Brokerage Name","Written Pren....","Loss Ratio","New Business( Whatever comes here)"),
align = c("c", "l", "r", "r", "r"),
caption = paste("We had", nrow(ranknew) ,
"brokerages give us 100+ new policies in", year(Sys.Date())-1),
longtable = TRUE, booktabs = TRUE) %>%
kable_styling(latex_options = c("HOLD_position", "repeat_header"), full_width = F, font_size = 9, position = "center") %>%
column_spec(column = 1, width = "3cm")%>%
column_spec(column = 2, width = "8cm") %>%
column_spec(column = 3, width = "2cm") %>%
column_spec(column = 4, width = "1.5cm") %>%
column_spec(column = 5, width = "1.5cm") %>%
row_spec(row = 0, bold = TRUE, background = "orange",
color = "black", italic = FALSE, monospace = FALSE, strikeout = FALSE) %>%
print(floating = FALSEFALSE, row.names = FALSE)
这个例子适用于我的 iris 数据集。
library(knitr)
library(kableExtra)
library(tidyverse)
kable(iris, format = "latex", row.names = FALSE,
col.names = c("Provinces","Brokerage Name","Written Pren....","Loss Ratio","New Business( Whatever comes here)"),
longtable = TRUE, booktabs = TRUE) %>%
kable_styling(latex_options = c("HOLD_position", "repeat_header"), full_width = F, font_size = 9, position = "center") %>%
column_spec(column = 1, width = "3cm")%>%
column_spec(column = 2, width = "8cm") %>%
column_spec(column = 3, width = "2cm") %>%
column_spec(column = 4, width = "1.5cm") %>%
column_spec(column = 5, width = "1.5cm") %>%
row_spec(row = 0, bold = TRUE, underline = TRUE, background = "orange",
color = "black", italic = FALSE, monospace = FALSE, strikeout = FALSE) %>%
print(floating = FALSEFALSE, row.names = FALSE)