首页 > 解决方案 > 将两个或多个单元格中的文本合并到一个可格式化的 R 单元格中

问题描述

给定df如下数据框:

df <- structure(list(class = c("A", "", "", "B", ""), name = c("Jack", 
"Rose", "Steve", "James", "Rick"), score = c(7L, 18L, 9L, 15L, 
12L)), class = "data.frame", row.names = c(NA, -5L))

是否有可能通过formattable获得如下输出效果:

在此处输入图像描述

library(df)
formattable(df)

出去:

在此处输入图像描述

更新代码:

library(flextable)

data <- flextable(
  df, 
  col_keys = c("class", "name", "score"))
data <- merge_v(data, j = c("class"))
formattable(data)

出去:

Error in create_obj(x, "formattable", list(formatter = formatter, format = list(...), : 
argument "formatter" is missing, with no default

它引发与上述相同的错误:

library(gt)

# dummy data
dat <- tibble(
  a=1:3,
  b=c("a","b c","d e f")
)

d <- dat %>% 
  mutate(b = str_replace_all(b, " ", "<br>")) %>% 
  gt() %>% 
  fmt_markdown(columns = TRUE)

formattable(d)

可能有帮助的代码:

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

formattable(b)

出去:

在此处输入图像描述

参考:

在 R 中,当使用 formattable() 在单个单元格内的条目之间放置换行符

标签: rformattable

解决方案


推荐阅读