我正在使用 formattable 在闪亮应用程序的表格中实现一些条件颜色格式。例如,假设我想将值低于 2 的单元格着色为绿色,高于 5 的单元格为红色,介于 2 和 5 之间的单元格为橙色。我会这样写我的格式化程序函数:
formatter(
"span",
style = x ~ style(
color = 'white',
'background-color' =
ifelse(x > 5, "red",
ifelse(x > 2 & x <= 5, "orange",
"green"))))
但是,我真正想要做的是让用户能够更改这些颜色阈值,即 2 和 5。
所以假设 user_low 和 user_high 是由用户定义的:
col_format <-
formatter(
"span",
style = x ~ style(
color = 'white',
'background-color' =
ifelse(x > input$user_high, "red",
ifelse(x > input$user_low & x <= input$user_high, "orange",
"green"))))
如果我现在尝试将此格式化程序提供给我闪亮的应用程序中的格式化表:
formattable(mtcars, col_format)
我收到以下错误:
'col_format' of mode 'function' was not found
似乎 input$user_low 和 input$user_high 没有被评估,而是在格式化程序中被视为字符串。我试过 eval()、eval(parse()),但无济于事。
有任何想法吗?