r - 不要删除 kable 函数中的空格 - 以示例
问题描述
我正在汇总数据并在 Shiny 应用程序中创建一个表。我的基本问题是我想在连接字符串的元素之间添加一些额外的空格,以便它更具可读性,但添加的空格似乎消失了。我认为 paste() 函数在“+/-”符号周围适当地添加了额外的空格,但是使用 kable 或 kableExtra 创建表会删除空格。
我想我问的问题和这个人一样,但是那个人没有提供一个完整的可重复的例子。我试图用 iris 数据集在下面创建一个代表。
我尝试了三次使用 mutate() 来创建一个带有“+/-”符号的新变量。我最好的理解是,这并不是真正的问题。为了便于阅读,我希望能够在此符号的任一侧添加任意数量的空格。
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 中查看的结果表的屏幕截图。使用 Shiny 时,结果是一样的。无论我添加多少空格,在此表中格式化时它们都会消失
解决方案
这不是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