我現在用的是以下數據集:https://docs.google.com/spreadsheets/d/1C_P5xxzYr7HOkaZFfFiDhanqDSuSIrd2UkiC-6_G2q0/edit#gid=0麻煩與ShinyDashboard
我使用ShinyDashboard
,我有一個selectInput
,讓我選擇一個特定類型的直板(在糖果列在我的數據組)。
如何獲取Candy選項,然後製作包含每個購買月份所選糖果棒頻率的圖表?在我的server.R
中,我不確定該CandyCount
電抗元件中有什麼。
我的代碼如下:
## ui.R ##
library(shinydashboard)
library(rCharts)
dashboardPage(
dashboardHeader(title = "Dashboard"),
dashboardSidebar(
width = 150,
sidebarMenu(
menuItem("Dashboard", tabName = "dashboard", icon = icon("bar-chart"))
)
),
dashboardBody(
sidebarPanel(
htmlOutput("candy")
),
mainPanel(
showOutput("plot2", "polycharts")
)))
##server.R##
server <- function(input, output, session) {
output$candy<- renderUI({
selectInput(
inputId = "candy",
label = "Candy: ",
choices = as.character(unique(dataset$Candy)),
selected = "Twix"
)
})
output$plot2 <- renderChart2({
candySelect<- input$candy
df <- dataset[dataset$candy == candySelect,]
p2 <- rPlot(freq~purchase_month, data = df, type = 'line')
p2$guides(y = list(min = 0, title = ""))
p2$guides(y = list(title = ""))
p2$addParams(height = 300, dom = 'chart2')
return(p2)
})
}
使用一個變量來存儲所選擇的糖果,'candyChosen < - input $ candy',然後通過選擇的糖果過濾您的'dataset'。 – tospig
這些都應該發生在'reactive'元素的內部嗎? – Gary
不一定。你可以在一個'renderPlot'函數裏面做,像'output $ candyPlot < - renderPlot({candyChosen < - input $ candy;})' –
tospig