我再一次遇到了一些关于闪光的问题。当我运行我的应用程序时,我得到以下消息:
警告:tapply中的错误:参数必须具有相同的长度无堆栈跟踪可用
对于R来说,我仍然是个新手,我不明白为什么我会收到这个警告。我在图表中随机体验了aes_string而不是aes,但我找不到任何可行的解决方案。如果有人能帮助我,我将不胜感激。
library(shiny)
library(tidyverse)
df_bransch <- data_frame(
kommun = c("Bjuv", "Bjuv", "Bjuv", "Bromölla", "Bromölla", "Bromölla", "Båstad", "Båstad", "Båstad", "Helsingborg", "Helsingborg", "Helsingborg"),
bransch = c("Besöksnäring", "Byggnadsmaterial", "Fastigheter", "Besöksnäring", "Byggnadsmaterial", "Fastigheter",
"Besöksnäring", "Byggnadsmaterial", "Fastigheter", "Besöksnäring", "Byggnadsmaterial", "Fastigheter"),
Anställda = c(46, 369, 36, 57, 40, 36, 525, 5, 1133, 2392, 195, 1042),
Förädlingsvärde = c(20724, 579892, 91406, 26097, 136440, 51731, 252891, 3852, 1343391, 1257333, 176595, 5017640))
ui <- fluidPage(
navbarPage(title = "TEST", id = "nav",
tabPanel("Branschstruktur",
sidebarLayout(
sidebarPanel(selectInput("kom", "Kommun", choices = unique(df_bransch$kommun), selected = "Malmö"),
varSelectInput("var", "Variabel", df_bransch[c(3,4)])),
mainPanel(plotOutput("plot"))),
tabPanel("Utveckling"))))
server <- function(input, output, session) {
df <- reactive({df_bransch %>%
req(input$var, input$kom) %>%
filter(kommun == input$kom)
})
output$plot <- renderPlot({
ggplot(df(), aes(x = reorder(bransch, input$var), y = input$var)) +
geom_bar(position = "dodge", stat = "identity") +
labs(title = paste0("Branschstruktur, ", input$kom, " år 2018"),
subtitle = paste0("Variabel: ", input$var),
caption = "Källa: Bisnode") +
coord_flip()
})
}
shinyApp(ui, server)
发布于 2020-06-23 21:11:28
请进行以下更改:
ggplot(df(), aes(x = reorder(bransch, df()[[input$var]]), y = df()[[input$var]]))
另外,将代码y = "Bransch", x = as.name(input$var),
添加到labs()
中,以便在x和y轴上给出正确的标签。然后,您将获得如下输出:
https://stackoverflow.com/questions/62543355
复制相似问题