Вот как это можно сделать:
ui.R
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
fileInput("file1", "Choose CSV File",
accept = c(
"text/csv",
"text/comma-separated-values,text/plain",
".csv")
)
),
mainPanel(
plotOutput("distPlot"),
tableOutput("contents")
)
)
)
server.R
server <- function(input, output) {
dat <- reactive({
req(input$file1) # require that input is available, prevents error when no data uploaded
inFile <- input$file1
df <- read.csv(inFile$datapath)
return(df)
})
output$distPlot <- renderPlot({
plot(dat()["name.of.column"])
})
output$contents <- renderTable({
dat()
})
}
Вы можете загрузить данные, используя read.csv(inFile$datapath)
иполучить доступ к нему, сделав его реактивным значением, как вы сделали.Кроме того, убедитесь, что вы поместили ваши ui.R и server.R в одну и ту же директорию и запустите свое приложение, используя runApp("your_directory_path")