首页 > 解决方案 > 在 R 中,当使用 formattable() 在单个单元格内的条目之间放置换行符

问题描述

我正在使用 R 中的 formattable 包中的 formattable()。这里有一些代码可以生成一个表格,其中包含我想要解决的问题。

a1 <- c(1, 2, 3)
data <- c(100, 155, -4)
a2 <- c(0, paste(data, collapse = "; "), 1000000) 
b <- data.frame(cbind(a1, a2))
                
formattable(b)

这是输出:

在此处输入图像描述

我想要的是具有三个条目的单元格将每个值都放在一个新行上,所以它看起来像这样:

在此处输入图像描述

如果看起来像这样,我可以删除分号。我通过缩小窗口制作了第二张图片,但无论用户的窗口有多大,我都希望数据始终以这种方式显示。有没有在 formattable() 或其他地方可以强制执行此操作的方法?

请注意,我在 paste() 函数中尝试了以下操作,但没有成功。

paste(data, collapse = "; \n")

标签: r

解决方案


我没用过formatable。我想知道kableExtra这里是否有帮助。

library(knitr)
library(kableExtra)
df <- data.frame(a1 = c(1, 2, 2,2, 3),
                 a2 = c(0, 100, 155, -4, 1000000)) 
kable(df) %>%
  kable_styling(full_width = F) %>%
  collapse_rows(columns = 1:2, valign = "top")

在此处输入图像描述


推荐阅读