如何让用户选择 R-shiny 中的数据?
How to let user pick the data in R-shiny?
我有一个数据框,显示了几种产品的历史销售额:
# A tibble: 1,430 x 4
date prod1 prod2 prod3
<date> <dbl> <dbl> <dbl>
1 2018-01-01 86405 79841 79527
2 2018-01-02 187858 151150 110973
3 2018-01-03 165850 128996 126793
4 2018-01-04 151554 96010 96063
5 2018-01-05 158725 152791 112768
6 2018-01-06 107586 110958 69742
7 2018-01-07 325143 216590 156337
8 2018-01-08 128492 71977 103863
9 2018-01-09 142117 75013 107610
10 2018-01-10 182920 90451 125992
我想创建一个交互式绘图工具,在 x 轴上绘制日期,在 y 轴上绘制销售额。用户应使用 selectInput()
选择要预测的产品。如果用户选择 prod3
那么应用程序应该绘制 date
与 prod3
.
这是我目前所做的:
ui <- fluidPage(
# Application title
titlePanel("Plotting tool"),
sidebarLayout(
sidebarPanel(
selectInput(inputId = "prod",
label = "Select product group to plot:",
choices = c("prod1","prod2","prod3"),
selected = NULL,
multiple = FALSE,
selectize = TRUE,
width = NULL,
size = NULL)
),
# Show a plot of the raw data
mainPanel(plotOutput(outputId = "plot"))
)
)
server <- function(input, output) {
output$plot <- renderPlot({
title <- "Time series of raw data"
chosen_prod <- input$prod
# plot time series
plot(df$ds, df$chosen_prod)
})
}
# Run the application
shinyApp(ui = ui, server = server)
但是我收到错误:"Warning: Unknown or uninitialised column: chosen_prod."
我的理解是 input$prod
return 是一个字符串,所以 df$chosen_prod
应该只是 return 所需的列值.我错过了什么?
"chosen_prod" 不是 df 中的列。试试这个。
plot(df$ds, df[[chosen_prod]])
我有一个数据框,显示了几种产品的历史销售额:
# A tibble: 1,430 x 4
date prod1 prod2 prod3
<date> <dbl> <dbl> <dbl>
1 2018-01-01 86405 79841 79527
2 2018-01-02 187858 151150 110973
3 2018-01-03 165850 128996 126793
4 2018-01-04 151554 96010 96063
5 2018-01-05 158725 152791 112768
6 2018-01-06 107586 110958 69742
7 2018-01-07 325143 216590 156337
8 2018-01-08 128492 71977 103863
9 2018-01-09 142117 75013 107610
10 2018-01-10 182920 90451 125992
我想创建一个交互式绘图工具,在 x 轴上绘制日期,在 y 轴上绘制销售额。用户应使用 selectInput()
选择要预测的产品。如果用户选择 prod3
那么应用程序应该绘制 date
与 prod3
.
这是我目前所做的:
ui <- fluidPage(
# Application title
titlePanel("Plotting tool"),
sidebarLayout(
sidebarPanel(
selectInput(inputId = "prod",
label = "Select product group to plot:",
choices = c("prod1","prod2","prod3"),
selected = NULL,
multiple = FALSE,
selectize = TRUE,
width = NULL,
size = NULL)
),
# Show a plot of the raw data
mainPanel(plotOutput(outputId = "plot"))
)
)
server <- function(input, output) {
output$plot <- renderPlot({
title <- "Time series of raw data"
chosen_prod <- input$prod
# plot time series
plot(df$ds, df$chosen_prod)
})
}
# Run the application
shinyApp(ui = ui, server = server)
但是我收到错误:"Warning: Unknown or uninitialised column: chosen_prod."
我的理解是 input$prod
return 是一个字符串,所以 df$chosen_prod
应该只是 return 所需的列值.我错过了什么?
"chosen_prod" 不是 df 中的列。试试这个。
plot(df$ds, df[[chosen_prod]])