❝https://github.com/rstudio/gt ❞
devtools::install_github("rstudio/gt")
library(gt)
library(tidyverse)
dplyr::tibble(a = c(
paste(rnorm(20, 20, 10), collapse = ","), # 创建一个包含正态分布随机数的字符串
paste(rnorm(100, 0, 5), collapse = ","), # 创建另一个包含正态分布随机数的字符串
paste(rnorm(15, 8, 2), collapse = ","), # 再创建一个包含正态分布随机数的字符串
paste(rnbinom(120, 10, 0.5), collapse = ","), # 创建一个包含负二项分布随机数的字符串
paste(rnbinom(150, 5, 0.25), collapse = ",") # 创建另一个包含负二项分布随机数的字符串
)) %>%
gt() %>%
cols_nanoplot(columns = a, plot_type = "boxplot") %>%
cols_hide(columns = a) # 创建一个gt表格,添加箱线图,并隐藏原始数据列
dplyr::tibble(
a = c(-20, -10, 0, 10, 5)
) |>
gt() |>
cols_nanoplot(
columns = a,
plot_type = "bar",
options = nanoplot_options(
data_bar_negative_fill_color = "lightblue", # 设置负值条形图的填充颜色
data_bar_fill_color = "lightgreen", # 设置正值条形图的填充颜色
data_bar_stroke_color = "forestgreen", # 设置正值条形图的边框颜色
data_bar_negative_stroke_color = "steelblue", # 设置负值条形图的边框颜色
interactive_data_values = FALSE # 设置条形图为非交互式
)
) |>
tab_style(
style = cell_borders(sides = c("left", "right"), weight = "2px"), # 设置单元格边框样式
locations = cells_body(columns = nanoplots) # 应用样式到包含nanoplots的单元格
)
illness |>
dplyr::slice_head(n = 10) |>
gt(rowname_col = "test") |>
tab_header("Partial summary of daily tests performed on YF patient") |>
tab_stubhead(label = md("**Test**")) |>
cols_hide(columns = c(starts_with("norm"), starts_with("day"))) |>
fmt_units(columns = units) |>
cols_nanoplot(
columns = starts_with("day"),
new_col_name = "nanoplots",
new_col_label = md("*Progression*"),
options = nanoplot_options(data_area_fill_color = "lightgreen") # 设置区域图的填充颜色
) |>
cols_align(align = "center", columns = nanoplots) |>
cols_merge(columns = c(test, units), pattern = "{1} ({2})") |>
tab_footnote(
footnote = "Measurements from Day 3 through to Day 8.", # 添加脚注
locations = cells_column_labels(columns = nanoplots)) # 指定脚注位置