Я сделал блестящее приложение, которое принимает любые данные и показывает имена столбцов в зависимости от данных.
c1 <- rnorm(10,0,1)
c2 <- c(rep("txA",5),rep("txB",5))
c3 <- c(1:4,1:4,1:2)
c4 <- rep(LETTERS[1:5],2)
mydata <- data.frame(c1,c2,c3,c4)
ui <- fluidPage(
fileInput(inputId = "file",
label = "import file"),
tableOutput("tb"),
sidebarLayout(
sidebarPanel(
uiOutput(outputId = "aa")
),
mainPanel(textOutput("a"),
verbatimTextOutput("info"),
verbatimTextOutput("summary"),
plotOutput("plot", click = "plot_click")
)
)
)
server <- function(input,output) {
output$aa <- renderUI({
validate(need(input$file != "", ""))
mydata <- read.csv(input$file$datapath)
selectInput(inputId = "aa", #can be any name?
label="Select:",
choices = colnames(mydata))
})
output$tb <- renderTable({
data <- input$file
if (is.null(data))return()
read.table(data$datapath,sep=",")
})
output$summary <- renderPrint({
summary(mydata)
})
output$plot <- renderPlot({
plot(mydata)
})
output$info <- renderText({
paste0("x=", input$plot_click$x, "\ny=", input$plot_click$y)
})
}
shinyApp(ui=ui, server=server)
Если я запускаю это, я получаю следующее:
Я пытаюсь сделать блестящее приложение, которое показывает базовый график в зависимости от выбранных столбцов. Как бы я это сделал?