我正在嘗試formattable為我閃亮的應用程式制作一張漂亮的桌子。我希望將單元格范圍和 NA 的陰影設定為-.
example <- structure(list(`2022` = c(NA_integer_, NA_integer_, NA_integer_,
NA_integer_, NA_integer_, NA_integer_), `2021` = c(929L, NA,
165L, 265L, 5616L, 13L), `2020` = c(660L, NA, 98L, 266L, 6735L,
15L), `2019` = c(598L, NA, 96L, 326L, 6236L, 14L), `2018` = c(479L,
NA, 107L, 384L, 4486L, 14L), `2017` = c(NA, NA, -547L, -3548L,
3895L, 20L), `2016` = c(NA, NA, 19L, 535L, 6345L, 24L)), row.names = c(NA,
-6L), class = c("tbl_df", "tbl", "data.frame"))
formattable(example,
list(` ` = formatter("span", style = ~ style(color = "black",font.weight = "bold")),
area(col = 1:7) ~ color_tile("#DeF7E9", "#71CA97")))
我的問題:是否可以將 NA 作為字符并仍然使用基于數值的陰影?
uj5u.com熱心網友回復:
這會產生你想要的嗎?
library(formattable)
library(dplyr)
library(tidyr)
example <- structure(list(`2022` = c(
NA_integer_, NA_integer_, NA_integer_,
NA_integer_, NA_integer_, NA_integer_
), `2021` = c(
929L, NA,
165L, 265L, 5616L, 13L
), `2020` = c(
660L, NA, 98L, 266L, 6735L,
15L
), `2019` = c(598L, NA, 96L, 326L, 6236L, 14L), `2018` = c(
479L,
NA, 107L, 384L, 4486L, 14L
), `2017` = c(
NA, NA, -547L, -3548L,
3895L, 20L
), `2016` = c(NA, NA, 19L, 535L, 6345L, 24L)), row.names = c(
NA,
-6L
), class = c("tbl_df", "tbl", "data.frame"))
example |>
dplyr::mutate_all(.funs = ~ tidyr::replace_na(as.character(.x), "-")) |>
formattable(
list(
` ` = formatter("span", style = ~ style(color = "black", font.weight = "bold")),
area(col = 1:7) ~ color_tile("#DeF7E9", "#71CA97")
)
)
#> Warning in gradient(as.numeric(x), ...): NAs introduced by coercion
創建于 2022-11-16,使用
如果要用“-”替換 NA 值,則必須轉換為字符列。然后函式“replace_na”用指定的值替換 NA。這可能會搞砸其他一些事情,但看起來 formattable 仍然會通過轉換為整數來設定樣式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/534799.html
標籤:r可格式化的
