不要删除 kable 函数中的空格 - 例如
Do not remove spaces in kable function - with example
我正在汇总数据并在 Shiny 应用程序中创建 table。我的基本问题是,我想在连接字符串的元素之间添加一些额外的 spaces 以使其更具可读性,但添加的 spaces 似乎消失了。我认为 paste() 函数在“+/-”符号周围适当地添加了额外的 space,但是使用 kable 或 kableExtra 创建 table 会删除 spaces .
我想我是在问 the same question as this person did,但是那个人没有提供完整的可重现示例。我试图在下面使用 iris 数据集创建一个 reprex。
我尝试了三次使用 mutate() 创建带有“+/-”符号的新变量。我最好的理解是这不是真正的问题。为了便于阅读,我希望能够在此符号的任一侧添加任意数量的空白 space。
library(tidyverse)
library(kableExtra)
data(iris)
data.summary = iris %>%
group_by(Species) %>%
summarise(N = n(),
avg.sepal.width = round(mean(Sepal.Width),2),
sd.sepal.width = round(sd(Sepal.Width),2)) %>%
# mutate(table.name = paste(avg.sepal.width, '\u00B1', sd.sepal.width)) %>%
# mutate(table.name = paste(avg.sepal.width, '\u00B1', sd.sepal.width, sep= " ")) %>%
mutate(table.name = paste(avg.sepal.width, ' ', '\u00B1',' ', sd.sepal.width, sep= " ")) %>%
knitr::kable(caption = "Iris Avg Sepal Width \u00B1 Standard Deviation ", align = "c") %>%
kableExtra::kable_styling(bootstrap_options = c("striped", "hover", "condensed"), full_width = F, position = "left")
data.summary
这是在 RStudio 中查看的结果 table 的屏幕截图。使用 Shiny 时,结果是一样的。无论我添加了多少 space,在 table
中格式化后它们都会消失
这不是 kable
问题。这就是 html 的行为方式。如果您想在文本中添加额外的空格,您需要在文本中添加 " "
。将其设为粘贴分隔符,并确保将 escape = FALSE
转入 kable
:
library(tidyverse)
library(kableExtra)
data(iris)
data.summary = iris %>%
group_by(Species) %>%
summarise(N = n(),
avg.sepal.width = round(mean(Sepal.Width),2),
sd.sepal.width = round(sd(Sepal.Width),2)) %>%
mutate(table.name = paste(avg.sepal.width, '\u00B1',
sd.sepal.width, sep = " ")) %>%
knitr::kable(caption = "Iris Avg Sepal Width \u00B1 Standard Deviation ",
align = "c", escape = FALSE) %>%
kableExtra::kable_styling(bootstrap_options = c("striped", "hover", "condensed"),
full_width = F,
position = "left")
data.summary
我正在汇总数据并在 Shiny 应用程序中创建 table。我的基本问题是,我想在连接字符串的元素之间添加一些额外的 spaces 以使其更具可读性,但添加的 spaces 似乎消失了。我认为 paste() 函数在“+/-”符号周围适当地添加了额外的 space,但是使用 kable 或 kableExtra 创建 table 会删除 spaces .
我想我是在问 the same question as this person did,但是那个人没有提供完整的可重现示例。我试图在下面使用 iris 数据集创建一个 reprex。
我尝试了三次使用 mutate() 创建带有“+/-”符号的新变量。我最好的理解是这不是真正的问题。为了便于阅读,我希望能够在此符号的任一侧添加任意数量的空白 space。
library(tidyverse)
library(kableExtra)
data(iris)
data.summary = iris %>%
group_by(Species) %>%
summarise(N = n(),
avg.sepal.width = round(mean(Sepal.Width),2),
sd.sepal.width = round(sd(Sepal.Width),2)) %>%
# mutate(table.name = paste(avg.sepal.width, '\u00B1', sd.sepal.width)) %>%
# mutate(table.name = paste(avg.sepal.width, '\u00B1', sd.sepal.width, sep= " ")) %>%
mutate(table.name = paste(avg.sepal.width, ' ', '\u00B1',' ', sd.sepal.width, sep= " ")) %>%
knitr::kable(caption = "Iris Avg Sepal Width \u00B1 Standard Deviation ", align = "c") %>%
kableExtra::kable_styling(bootstrap_options = c("striped", "hover", "condensed"), full_width = F, position = "left")
data.summary
这是在 RStudio 中查看的结果 table 的屏幕截图。使用 Shiny 时,结果是一样的。无论我添加了多少 space,在 table
中格式化后它们都会消失这不是 kable
问题。这就是 html 的行为方式。如果您想在文本中添加额外的空格,您需要在文本中添加 " "
。将其设为粘贴分隔符,并确保将 escape = FALSE
转入 kable
:
library(tidyverse)
library(kableExtra)
data(iris)
data.summary = iris %>%
group_by(Species) %>%
summarise(N = n(),
avg.sepal.width = round(mean(Sepal.Width),2),
sd.sepal.width = round(sd(Sepal.Width),2)) %>%
mutate(table.name = paste(avg.sepal.width, '\u00B1',
sd.sepal.width, sep = " ")) %>%
knitr::kable(caption = "Iris Avg Sepal Width \u00B1 Standard Deviation ",
align = "c", escape = FALSE) %>%
kableExtra::kable_styling(bootstrap_options = c("striped", "hover", "condensed"),
full_width = F,
position = "left")
data.summary