Shiny radioButton 在不同的计算之间切换,与数据表一起使用
Shiny radioButton switching between different calculations, using with datatable
我想制作一个小的 Shiny 应用程序,但我在第一步就卡住了,因为我觉得我对一个没有经验的编码员来说吃得太大了。
我希望应用程序的以下几行执行的操作是:使用 data.table 包,执行两个计算之一,平均工资或对它们求和,但仅限于使用 selectizeInput 选择的状态。
我得到的错误是:
"Warning in eventReactiveHandler(...) : NAs introduced by coercion"
为了达到这一点,我在谷歌上搜索了很多,但我找不到任何可以进一步帮助我的东西。
library(shiny)
library(data.table)
ui <- fluidPage(
selectizeInput(inputId = "Stat", "Choose a state", choices = unique(data4$STATE)),
radioButtons("calRB", "Choose calculation", c("sum", "avg")),
verbatimTextOutput("rslt"),
actionButton("count", "Go")
)
server <- function(input, output) {
Rslt <- eventReactive({input$count, switch(as.numeric(input$calRB),
return(data.table(data4)[STATE == input$Stat, sum(A00200)]),
return(data.table(data4)[STATE == input$Stat, mean(A00200)]})))
output$rslt <- renderPrint(Rslt())
}
shinyApp(ui = ui, server = server)
我在一条线上工作的时间太长了,通常我会解决问题。此代码与我在此处找到的代码非常相似。
帮助/教育不胜感激,干杯!帕维尔
您的问题是您试图将文本转换为数字,这会导致创建 NA。
检查 swicth
的语法
此代码可以工作:
ui <- fluidPage(
selectizeInput(inputId = "Stat", "Choose a state", choices = unique(data4$STATE)),
radioButtons("calRB", "Choose calculation", c("sum", "avg")),
verbatimTextOutput("rslt"),
actionButton("count", "Go")
)
server <- function(input, output) {
Rslt <- eventReactive(input$count,{
switch(input$calRB,
sum=return(data.table(data4)[STATE == input$Stat, sum(A00200)]),
avg=return(data.table(data4)[STATE == input$Stat, mean(A00200)]))})
output$rslt <- renderPrint(Rslt())
}
shinyApp(ui = ui, server = server)
我想制作一个小的 Shiny 应用程序,但我在第一步就卡住了,因为我觉得我对一个没有经验的编码员来说吃得太大了。
我希望应用程序的以下几行执行的操作是:使用 data.table 包,执行两个计算之一,平均工资或对它们求和,但仅限于使用 selectizeInput 选择的状态。 我得到的错误是: "Warning in eventReactiveHandler(...) : NAs introduced by coercion" 为了达到这一点,我在谷歌上搜索了很多,但我找不到任何可以进一步帮助我的东西。
library(shiny)
library(data.table)
ui <- fluidPage(
selectizeInput(inputId = "Stat", "Choose a state", choices = unique(data4$STATE)),
radioButtons("calRB", "Choose calculation", c("sum", "avg")),
verbatimTextOutput("rslt"),
actionButton("count", "Go")
)
server <- function(input, output) {
Rslt <- eventReactive({input$count, switch(as.numeric(input$calRB),
return(data.table(data4)[STATE == input$Stat, sum(A00200)]),
return(data.table(data4)[STATE == input$Stat, mean(A00200)]})))
output$rslt <- renderPrint(Rslt())
}
shinyApp(ui = ui, server = server)
我在一条线上工作的时间太长了,通常我会解决问题。此代码与我在此处找到的代码非常相似。
帮助/教育不胜感激,干杯!帕维尔
您的问题是您试图将文本转换为数字,这会导致创建 NA。
检查 swicth
此代码可以工作:
ui <- fluidPage(
selectizeInput(inputId = "Stat", "Choose a state", choices = unique(data4$STATE)),
radioButtons("calRB", "Choose calculation", c("sum", "avg")),
verbatimTextOutput("rslt"),
actionButton("count", "Go")
)
server <- function(input, output) {
Rslt <- eventReactive(input$count,{
switch(input$calRB,
sum=return(data.table(data4)[STATE == input$Stat, sum(A00200)]),
avg=return(data.table(data4)[STATE == input$Stat, mean(A00200)]))})
output$rslt <- renderPrint(Rslt())
}
shinyApp(ui = ui, server = server)