我试图在闪亮的应用程序中绘制一个简单的直方图。在应用程序之外(在R脚本中),图形被绘制而没有任何问题,(see here)但是相同的代码在应用程序内部生成奇怪的图形(see the wrong graph here)
你可以帮我找出错误吗?链接到数据集:https://drive.google.com/open?id=1ITK0lTWm_mkb9KonHLq4nuKDv-PBUDeRlibrary(ggplot2)
library(ggthemes)
library(scales)
library(shiny)
# read data
cso_corruption <- read.csv("cso_corruption.csv", header = T, sep = ",")
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
radioButtons(inputId = "x",label ="Measurement Type",choices =
c("freq_business", "freq_cso"), selected = NULL)
),
mainPanel(
plotOutput(outputId = "hist")
)
)
)
server <- function(input, output) {
output$hist <- renderPlot(ggplot(data = na.omit(cso_corruption), aes(x=input$x)) +
geom_histogram(fill="lightgreen", stat="count"))
}
shinyApp(ui = ui, server = server)
答案 0 :(得分:0)
可能的原因是数据没有进入服务器。
我会将csv放入目录中的另一个文件中,因此您可以使用
访问它read.csv("./Data/projectdata.csv")
因此,发布时不会丢失。还要确保在发布时检查数据。最后要注意在服务器中包含read.csv函数。
答案 1 :(得分:0)
经过多次试错,我找到了解决方案。诀窍是,在服务器中,我使用aes_string而不是aes。我还没弄清楚为什么aes_string在这里工作,因为它应该要求变量用引号传递。但它有一些原因。