Вот код, который у меня есть:
library(shiny)
library(ggplot2)
ui <- fluidPage(
fluidRow(
headerPanel("CSV Viewer & Visualiser"),
sidebarPanel(
fileInput('fileData', 'Choose CSV File',
accept=c('text/csv', 'text/comma-separated-values,text/plain', '.csv')),
width = 3,
selectInput("x", "X-Axis", list()),
selectInput("y", "Y-Axis:", list()),
),
mainPanel(
tableOutput('contents'),
),
)
)
Реальная проблема, с которой я столкнулся, в разделе сервера, я не мог понять, как получить весь столбец CSV из updateSelectInput
как мои оси X и Y, чтобы построить.
server <- function(input, output, session){
output$contents <- renderTable({
inFile <- input$fileData
if (is.null(inFile))
return(NULL)
df <- read.csv(inFile$datapath)
updateSelectInput(session,"x",choices=colnames(df))
updateSelectInput(session,"y",choices=colnames(df))
p1 <- ggplot() +
geom_area(aes(y = , x = ), data = df)
p1 + labs(title = "", x = "", y = "")
return(df)
})
}
shinyApp(ui, server)
Я новичок в R, я был бы признателен за помощь, спасибо.