提问人:LabRat01010 提问时间:10/27/2023 最后编辑:LabRat01010 更新时间:10/27/2023 访问量:39
向 kable 表和 ggplot 添加上标和下标
Adding superscripts and subscripts to kable table and ggplots
问:
我很难弄清楚如何在 R 中的绘图和表格中为文本上标和下标。我只想在下面的“单位”行中为“-1”上标:
# Data for a table. I want the "-1" in the units row superscripted.
df <- data.frame("X"=c("Unit", "Mean", "CV"),
"Total C" = c("g kg-1", 8.16, 5.94),
"Total N" = c("g kg-1", 0.51, 7.97))
基本函数似乎不起作用:expression
# I initially thought I would use a loop.
text <- matrix(df[1,])[1]
prefix <- substr(text, 1, nchar(text)-2)
suffix <- substr(text, nchar(text)-1, nchar(text))
# new <- expression(prefix ^ suffix)
# Doesn't work. Literally returns "expression(prefix^suffix)".
我以为我会用它来创建表格。似乎有一个适合操作文本的功能(),但我找不到任何关于如何使用它来下标和上标文本的资源。KableExtra
text_spec
这个 Stack Overflow 线程似乎显示了如何在相关的 Kable Extra 函数中使用 LaTex 样式,但我无法弄清楚如何将其用于我的预期目的。group_rows
任何帮助将不胜感激。谢谢。
答:
0赞
RKeithL
10/27/2023
#1
可用性有限,具体取决于您将如何使用该列,但此功能有效:Units
df <- data.frame("X"=c("Unit", "Mean", "CV"),
"Total C" = c(paste0("g kg", footnote_marker_number(-1, "latex")), 8.16, 5.94),
"Total N" = c(paste0("g kg", footnote_marker_number(-1, "latex")), 0.51, 7.97))
kable(df, format = "latex", escape = F)
评论