您好我使用selectize和dropdown按钮为我的用户构建多个选择select widget。单选时它可以正常工作,但是当您做出多个选择时,显示的聚合数据不正确。 这是我的代码:
UI:
library(shiny)
shinyUI(fluidPage(
dropdownButton(
label = "Country", status = "default", width = 400,
checkboxGroupInput(inputId = "var", label = "Country",
choices = c("ALL", "Null", "A2", "AE", "AF"),
selected = c("ALL") )
),
hr(),
dropdownButton(
label = "Platform ", status = "default", width = 400,
checkboxGroupInput(inputId = "plat", label = "Platform ",
choices = c("ALL", "Android","Ios"),
selected = c("Android"))
),
hr(),
selectizeInput(inputId ='media',
label = "Source",
choices = c("ALL", "facebook", "twitter"),
selected = c("ALL"),
multiple = T),
),
mainPanel(
textOutput("text1")
)
))
服务器
#server.R
library(shiny)
library(ggplot2)
library(dplyr)
df <- df
shinyServer(function(input, output, session) {
datasetInput <- reactive({
df<- df %>%
filter(
(input$var == 'ALL' | country == input$var)&
(input$plat == 'ALL' | platform == input$plat)&
(input$media == 'ALL' | media_source == input$media)
)
})
output$text1 <- renderText({paste("Revenue: $", df() %>%
summarise(revenue = sum(price)/100)})
})
当我做出单一选择时,数据是正确的,例如当我选择Facebook媒体时,收入是200,000,当我选择推特时,收入是50,000。所以当我选择两者时,我希望看到250,000。然而,当我这样做的时候数字非常奇怪,我得到了160,000这样的东西,这很难知道系统是如何计算的。其他两个选择小部件也存在同样的问题。
顺便说一下,我也收到了这条警告信息:
较长的物体长度不是较短物体长度的倍数
任何人都知道我做错了哪一部分?谢谢。