R 基于两个数据帧创建反应式valuebox

R 基于两个数据帧创建反应式valuebox,r,shiny,R,Shiny,我试图创建一个基于过滤器的反应式valuebox,该过滤器从两个数据帧中排序城镇 从下拉菜单中选择映射应在值框中显示变量“test_num”。以下是我迄今为止所做的工作: data2 <- data.frame(Origine= c('NY','NY','NY','NY','NY','PL','PL', 'PL','PL','PL','AS','AS','AS','AS','AS','RY','RY','RY','RY','RY', 'JK', 'JK', 'JK', 'JK', 'JK

我试图创建一个基于过滤器的反应式valuebox,该过滤器从两个数据帧中排序城镇

从下拉菜单中选择映射应在值框中显示变量“test_num”。以下是我迄今为止所做的工作:


data2 <- data.frame(Origine= c('NY','NY','NY','NY','NY','PL','PL', 'PL','PL','PL','AS','AS','AS','AS','AS','RY','RY','RY','RY','RY', 'JK', 'JK', 'JK', 'JK', 'JK'), Annee=c('2000', '2002', '2004', '2006', '2008', '2000', '2002', '2004', '2006', '2008','2000', '2002', '2004', '2006', '2008','2000', '2002', '2004', '2006', '2008','2000', '2002', '2004', '2006', '2008'), 
                    var2 = c(12,20,10,8,14, 12,20,10,8,14,12,20,10,8,14,12,20,10,8,14,12,20,10,3,5))


data <- data.frame(Origine= c('NY','PL','AS','RY','JK'), var1=c('a', 'b', 'c', 'd', 'e'), 
                   test_num = c(1,1,0,0,1))

ui <-basicPage(selectInput(inputId = "Origine",
                           label = h1("Town"),
                           choices = unique(data2$Origine),
                           selected = "NY"),
               box(width = NULL, 
    valueBoxOutput("variable1"),
)
)


test <- data

 server <- function(input, output) {

output$variable1 <-renderValueBox({
  
  test %>%    
    filter(Origine == input$Origine             
    )   
  valueBox((test$test_num), "test number:", icon = icon("list"), color = "purple")  
})    



 }
 
 
 shinyApp(ui, server)


data2您必须过滤输出中的数据帧,并将其放入新的数据帧中。然后在valueBox中调用它

server <- function(input, output) {
  
  output$variable1 <-renderValueBox({
    
    test <- data %>% filter(Origine == input$Origine)   
    valueBox(paste0(test$test_num), "test number:", icon = icon("list"), color = "purple")  
  })    

server您必须过滤输出中的数据帧,并将其放入新的数据帧中。然后在valueBox中调用它

server <- function(input, output) {
  
  output$variable1 <-renderValueBox({
    
    test <- data %>% filter(Origine == input$Origine)   
    valueBox(paste0(test$test_num), "test number:", icon = icon("list"), color = "purple")  
  })    

服务器太棒了!非常感谢你!令人惊叹的!非常感谢你!