如何用gt包将数据框d列星号设为c列上标(添加p值显著性)
使用gt包将星号设置为数字列的上标
数据
a <- c("Green", "Red", "Blue", "Orange") b <- c(100, 408, 39, 102) c <- c(12000, 3100, 2410, 503) d <- c("*", "*", "*", "***") data <- data.frame(a, b, c, d) data %>% gt()
问题
现有上述数据框,使用gt包生成表格时,能否将d列的星号设置为c列的上标,使c列显示为12000*、3100*这类形式?我正在使用gt包制作表格...
解决方案
可以实现,通过Markdown上标语法结合gt的fmt_markdown()函数就能完成,具体代码如下:
library(gt) library(dplyr) a <- c("Green", "Red", "Blue", "Orange") b <- c(100, 408, 39, 102) c <- c(12000, 3100, 2410, 503) d <- c("*", "*", "*", "***") data <- data.frame(a, b, c, d) data %>% # 把c列数值和d列星号拼接成Markdown上标格式 mutate(c = paste0(c, "^", d, "^")) %>% # 移除d列(也可用cols_hide(columns = d)隐藏) select(-d) %>% gt() %>% # 渲染c列的Markdown格式 fmt_markdown(columns = c)
说明
- Markdown中用
^内容^表示上标,因此将c列值与d列星号拼接成数值^星号^的格式 fmt_markdown()会让gt识别并渲染这部分Markdown语法,最终星号会以上标形式显示在对应数字右侧- 如果需要保留d列数据但不显示在表格中,替换
select(-d)为cols_hide(columns = d)即可
内容的提问来源于stack exchange,提问作者MM1
相关产品推荐
相关产品推荐

