#r #shiny
Вопрос:
Я новичок в shiny и пытаюсь объединить пару функций, но у меня возникли некоторые проблемы.
Я хочу, чтобы пользователь мог выбрать CSV, а затем получить случайный экземпляр (в данном случае твит) из этой таблицы. Следующий код работал, когда «tweetData» был статически загруженным csv с использованием read_csv.
## function to return random row number from data set
getTweet <- function(){
tweetData[sample(nrow(tweetData), 1), ]
}
function(input, output, session) {
## set reactive values, get randomized tweet
appVals <- reactiveValues(
tweet = getTweet(),
ratings = data.frame(tweet = character(), screen_name = character(), rating = character())
)
Я хочу вместо этого использовать динамически выбранный csv для «tweetData», что-то вроде добавления этого??
csvName <- reactive(paste0('../folder_path/', input$file_name))
selectedData <- read.csv(csvName)
Как использовать реактивно выбранные CSV, чтобы вписаться в структуру первого фрагмента кода?
Комментарии:
1.Вы хотите, чтобы пользователь загружал csv в приложение? Проверить
?fileInput
shiny.rstudio.com/reference/shiny/1.0.1/fileInput.html
Ответ №1:
Возможно fileInput
, вы ищете возможность предоставить пользователю возможность загрузить набор данных.
Это простой воспроизводимый пример —
library(shiny)
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
fileInput("file1", "Choose CSV File"),
),
mainPanel(
tableOutput("contents")
)
)
)
server <- function(input, output) {
output$contents <- renderTable({
req(input$file1)
read.csv(input$file1$datapath)
})
}
shinyApp(ui, server)