输入变量类型存在一些阻止R Shiny工作的问题。生成下拉列表,我可以选择变量,但没有生成绘图,我没有收到错误消息。如果我直接使用数据框名称和字段替换ggplot(注释为1),则生成条形图。我尝试了as.character(给我一个错误),没有转换或as.factor(没有给出错误,但没有生成条形图。
library(shiny)
library(ggplot2)
# DEFINE UI FUNCTION #######################################
ui <- fluidPage(
titlePanel("Charting GE Data"),
sidebarLayout(
sidebarPanel(
# Dropdown menu for selecting variable from GE data.
selectInput("var2",
label = "Select X Axis Variable",
choices = c("Indicator_Type" = 12, "Class" = 13),
selected = 13) # Default selection
),
mainPanel(
plotOutput("BarPlot")
)
)
)
# DEFINE SERVER FUNCTION ###################################
server <- function(input, output) {
# Define bar plot output
output$BarPlot <- renderPlot({
iX <- as.factor(input$var2) #
xvar <- Event_identity_noNAsComp[, iX]
require(graphics)
g <- ggplot(Event_identity_noNAsComp, aes(xvar, fill = xvar))
# g <- ggplot(Event_identity_noNAsComp, aes(Event_identity_noNAsComp$Class, #fill = Event_identity_noNAsComp$Class))
g + geom_bar()
})
}
# CALL THE SHINY APP #######################################
shinyApp(ui = ui, server = server)
希望这可以帮助...
iX <- as.numeric(input$var2)
如果没有必要提供列号位置,则在提供列名称时它将起作用:
EG
# Dropdown menu for selecting variable from GE data.
selectInput("var2",
label = "Select X Axis Variable",
choices = c("Mkt Returns" = "mktreturns", "Mkt Prices" = "mktprices"),
selected = "mktreturns")
所以对我来说,我使用了以下数据集:
summary(df_bm)
Date mktreturns mktprices
2013-02-14:1分钟:-2095.500分钟:1890 2013-02-15:1 1st Qu。:-13.000 1st Qu.:2395 2013-02-18:1中位数:0.000中位数:2665 2013-02-19:1平均值:-5.361平均值:2597 2013-02-20:1 3rd Qu。:8.000 3rd Qu.:2842 2013-02-21:1 Max。 :268.000 Max。 :3378 (其他):1007