一起使用cell_spec和mutate时出现问题

时间:2019-03-14 11:55:41

标签: r dplyr kableextra

我想使用kableExtra包编写一个函数。目的是引入一个表或数据框,并以粗体显示某些单元格并以不同的字体颜色返回它。

该功能如下:

xKable <- function(tau, var, cond, strCol){

require(kableExtra)
require(dplyr)

kab <- tau %>%
mutate(var = ifelse(paste(var, cond, sep=""), cell_spec(var, "latex", bold = T, color = strCol), var)) %>%
kable("latex", escape = F, booktabs = T) %>%
kable_styling(latex_options = c("hold_position", "scale_down"))

return(kab)

}

例如:

xKable(tau = head(iris), var = "Sepal.Length", cond= ">=5", strCol = "green")

这不起作用。但是,如果我以手动方式(波纹管形式)进行操作,那么它将起作用:

head(iris)%>%
mutate(Sepal.Length = ifelse(Sepal.Length>=5, cell_spec(Sepal.Length, "latex", bold = T, color = "green"), Sepal.Length)) %>%
kable("latex", escape = F, booktabs = T) %>%
kable_styling(latex_options = c("hold_position", "scale_down"))

我认为问题在于引入变量varcond作为字符。我该如何引入这些变量,或在函数内部更改它们的处理方式,以使该函数能够识别?

谢谢!

0 个答案:

没有答案