Я работаю над задачей по разработке интерактивной информационной панели с использованием Shiny, но мне удалось это сделать, однако, когда я объединил код для отображения 3 графиков, появилось 2 из них, но третий вызвал ошибку:
[: индекс за пределами [трассировка стека недоступна]
вот мой код
library(shiny)
ui=fluidPage(
# Give the page a title
titlePanel("Age ranges according to program"),
# Generate a row with a sidebar
sidebarLayout(
# Define the sidebar with one input
sidebarPanel(
actionButton(inputId = "MBA", label = "MBA"),
actionButton(inputId = "MSLOD", label = "MSLOD"),
actionButton(inputId = "MSQBE", label = "MSQBE"),
selectInput("Program", "Program:", choices=colnames(Majoraccordingtogender)),
selectInput("Program", "Position:", choices=colnames(Majorsaccordingtoposition))
),
# Create a spot for the barplot
mainPanel(
fluidRow(
column(6,plotOutput("hist")),
column(8,plotOutput("Plot")),
column(10,plotOutput("Plot1"))
)
)
)
)
server <- function(input, output) {
rv <- reactiveValues(data = Majorsaccordingtoage[1,1:4])
observeEvent(input$MBA, { rv$data <- Majorsaccordingtoage[1,1:4] })
observeEvent(input$MSLOD, { rv$data <- Majorsaccordingtoage[2,1:4] })
observeEvent(input$MSQBE, { rv$data <- Majorsaccordingtoage[3,1:4] })
output$hist <- renderPlot({
barplot(rv$data,
main=input$radio,
ylab="Number employees",
xlab="Ages Range",col=rainbow(4))
})
output$Plot <- renderPlot({
pct <- round(as.numeric(Majoraccordingtogender[,input$Program])/sum(as.numeric(Majoraccordingtogender[,input$Program]))*100)
lbls <- paste(pct)
lbls <- paste(lbls,"%",sep="")
pie(Majoraccordingtogender[,input$Program],
main=input$Program,
col=rainbow(2),
labels = lbls)
legend("topright", c("Male", "Female"), cex=0.8,fill=rainbow(length(Majoraccordingtogender[,input$Program])))
})
output$Plot1 <- renderPlot({
barplot(Majorsaccordingtoposition[,input$Program],
main=input$Program,col=rainbow(3),xlab = "Programs"
)
})
}
shinyApp(ui = ui, server = server)
и мои наборы данных выглядят так
Majorsaccordingtoage
0-25 25-30 30-40 40-65
MBA 5 133 258 106
MSLOD 4 59 60 28
MSQBE 2 34 64 28
Majorsaccordingtoposition
DIRECTOR MANAGER OFFICER NOT EMPLOYEE NOT MENTIONED
MBA 10 67 172 104 10
MSLOD 1 17 57 22 6
MSQBE 0 15 39 13 3
Majoraccordingtogender
MBA MSLOD MSQBE
Male 281 79 44
Female 221 72 84
обратите внимание, что все типы данных являются матрицами.
спасибоза помощь