发布到shinyappio时app.R运行应用程序本地主机错误已解决
我遵循 Kunaal Naik 的 Shiny_Dashboards 反应式示例,并尝试重现一个更简单的数据集,但出现映射错误,“美学必须是长度 1 或与数据 (1): x 相同”。我做错了什么?
server <- function(input, output, session) {
SalesRep <- c("Amy","Amy", "Amy", "Joe", "Joe", "Joe")
QTR <- c("Q1", "Q2", "Q3", "Q1", "Q2", "Q3")
Sales <- c(10, 20, 30, 5, 10, 15)
sales <- data.frame(SalesRep, QTR, Sales)
#Summarize Data and then Plot
data <- reactive({
req(input$sel_SalesRep)
df <- sales %>% filter(SalesRep %in% input$sel_SalesRep) %>% group_by(QTR) %>% summarise(Sales = sum(Sales))
})
#Plot
output$plot <- renderPlot({
g <- ggplot(data(), aes(y = Sales, x = QTR))
g + geom_bar(stat = "sum")
})
}
ui <- basicPage(
h1("R Shiny interactive Bar Chart using Reactive and Render"),
selectInput(inputId = "sel_SalesRep",
label = "Choose Sales Rep",
list("Amy","Joe")),
plotOutput("plot")
)
shinyApp(ui = ui, server = server)
I'm following Kunaal Naik's Shiny_Dashboards reactive example and tried reproducing a simpler data set, but I'm getting a mapping error, "Aesthetics must be either length 1 or the same as the data (1): x". What am I doing wrong?
server <- function(input, output, session) {
SalesRep <- c("Amy","Amy", "Amy", "Joe", "Joe", "Joe")
QTR <- c("Q1", "Q2", "Q3", "Q1", "Q2", "Q3")
Sales <- c(10, 20, 30, 5, 10, 15)
sales <- data.frame(SalesRep, QTR, Sales)
#Summarize Data and then Plot
data <- reactive({
req(input$sel_SalesRep)
df <- sales %>% filter(SalesRep %in% input$sel_SalesRep) %>% group_by(QTR) %>% summarise(Sales = sum(Sales))
})
#Plot
output$plot <- renderPlot({
g <- ggplot(data(), aes(y = Sales, x = QTR))
g + geom_bar(stat = "sum")
})
}
ui <- basicPage(
h1("R Shiny interactive Bar Chart using Reactive and Render"),
selectInput(inputId = "sel_SalesRep",
label = "Choose Sales Rep",
list("Amy","Joe")),
plotOutput("plot")
)
shinyApp(ui = ui, server = server)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论