我想知道如何为表分配条件格式,以便每行都有需要满足的不同条件。因此,在统计行中,如果值<0.96,则变为红色;在p值行中,如果值> 0.05,则变为红色。
我正在根据以下数据进行格式化
df_try
Normal Jan Feb
1 stistic 0.93069466 0.90404849
2 p-values 0.05123532 0.01056474我的条件格式在代码imporvement_formatter中,但很自然,它会将所有值变为红色,因为它们都是<0.96。我需要下一行的第二个条件,它适用于>0.05的条件。
i2 <- df_try %>%
+ select(c(`Normal`,`Jan`, `Feb`))
> formattable(i2)
improvement_formatter <-
+ formatter("span",
+ style = x ~ style(
+ font.weight = "bold",
+ color = ifelse(x < 0.96, customRed, "black")))
>
> formattable(i2, align =c("l","c","c"), list(
+ `Indicator Name` =
+ formatter("span", style = ~ style(color = "grey",font.weight = "bold")),
+ `Jan` = improvement_formatter
+ ))发布于 2020-09-25 19:56:15
请看一下area函数。它有助于在行而不仅仅是列上使用格式化程序。因此,您可以像以前一样定义格式化程序,然后在特定的行和列上具体使用它们。下面是一个示例:
library(formattable)
df_try <- structure(list(Normal = structure(2:1, .Label = c("p-values",
"stistic"), class = "factor"), Jan = c(0.93069466, 0.05123532
), Feb = c(0.90404849, 0.01056474)), class = "data.frame", row.names = c("1",
"2"))
first_col_formatter <- formatter("span",
style = ~ style(color = "grey",
font.weight = "bold"))
improvement_formatter <- formatter("span",
style = x ~ style(
font.weight = "bold",
color = ifelse(x < 0.96, "red", "black")))
improvement2_formatter <- formatter("span",
style = x ~ style(
font.weight = "bold",
color = ifelse(x > 0.05, "red", "black")))
formattable(df_try,
align =c("l","c","c"),
list(Normal = first_col_formatter,
area(row = 1, col = -1) ~ improvement_formatter,
area(row = 2, col = -1) ~ improvement2_formatter))

https://stackoverflow.com/questions/64068147
复制相似问题