我正在构建一个shiny
关于 NBA 球员和投篮命中率的应用程序。该应用程序将返回gt
所选玩家的表格。我遇到的问题是条件格式不适用于人口,因为它重新调整为从ui
. 有谁知道是否有办法解决这个问题?这是一个例子:
加载包和数据
library(tidyverse)
library(shiny)
library(gt)
dat <- tribble(~player, ~fg_pct,
"A", 0.43,
"B", 0.427,
"C", 0.475,
"D", 0.36,
"E", 0.4,
"F", 0.382,
"G", 0.48,
"H", 0.291,
"I", 0.45)
构建闪亮的应用程序
# user interface
u <- fluidPage(
selectInput("player",
label = "Player:",
choices = unique(dat$player),
selected = "A",
multiple = TRUE),
gt_output(outputId = "tbl")
)
# server
s <- function(input, output){
tbl_df <- reactive({
dat %>%
filter(player %in% input$player)
})
output$tbl <- render_gt({
tbl_df() %>%
gt() %>%
data_color(
vars(fg_pct),
colors = scales::col_numeric(palette = c("red","white","blue"),domain = NULL)
)
})
}
# run app
shinyApp(u, s)
选择一名玩家的示例
选择两名玩家的示例
我真正想要的
我真正想要的是gt
保持整个数据集的颜色缩放并将其返回。我想到的一件事实际上是构建具有 z 分数的第二列,然后查看我是否可以使用该信息为 fg_pct 列着色(实际上没有明确显示该列),但似乎不可能任何一个。无论玩家选择如何,我想保留的全色缩放是这样的:
dat %>%
gt() %>%
data_color(
vars(fg_pct),
colors = scales::col_numeric(palette = c("red","white","blue"),domain = NULL)
)