RMarkDown - 带有条件的 kable 中的符号 *

RMarkDown - symbol * in kable with condition

我正在尝试将符号 * 放在 table 中。到目前为止,我设法将符号放在 header 和第一列中,但没有放在 table 中。准确地说,我想标记某一行或某一列中小于固定值的所有值。你能帮我吗? 这是一个可重现的例子:

 dt<- mtcars[,1:6]
 dt_footnote <- dt
 names(dt_footnote)[2] <- paste0(names(dt_footnote)[2], 
                                    footnote_marker_symbol(1))
 row.names(dt_footnote)[4] <- paste0(row.names(dt_footnote)[4], 
                                    footnote_marker_alphabet(1))


 kable(dt_footnote, align = "c", 
        escape = F) %>%
     kable_styling(full_width = F) %>%
     footnote(alphabet = "Footnote A; ",
               symbol = "Footnote Symbol 1; ",
               alphabet_title = "Type II: ", symbol_title = "Type III: ",
               footnote_as_chunk = T)

这是我的尝试,但没有用:

dt$disp<-ifelse(dt$disp<170,paste0(dt$disp,
                  footnote_marker_symbol(1)),dt$disp)

非常感谢!

我无法重现您的示例,因为它在运行时抛出错误。然而这个例子应该有效

library(kableExtra)
library(dplyr)

dt <- mtcars[,1:6]

dt <- dt %>% 
  mutate(disp = case_when(
    disp < 150 ~ paste0(as.character(disp), "*"),
    TRUE ~ paste0(disp)
  ))

kable(dt, align = "c", 
      escape = F) %>%
  kable_styling(full_width = F) %>%
  footnote(alphabet = "Footnote A; ",
           symbol = "Footnote Symbol 1; ",
           alphabet_title = "Type II: ", symbol_title = "Type III: ",
           footnote_as_chunk = T)