Исходя из моего предыдущего вопроса, у меня возникают проблемы при создании DEPLOYABLE R файла с разметкой, в котором есть компонент Shiny, ПРОСТО, чтобы пользователь мог загрузить книгу Excel.
По сути, я хочу запустить код Python поверх данных, которые предоставляет пользователь.
Это не похоже на правильное развертывание в RConnect (время ожидания истекло):
---
output: html_document
---
library(dplyr)
library(miniUI)
library(shiny)
library(XLConnect)
launch_shiny <- function() {
ui <- miniPage(
gadgetTitleBar("Input Data"),
miniContentPanel(
fileInput(inputId = "my.file", label = NULL,
multiple = FALSE)
)
)
server <- function(input, output, session) {
wb <- reactive({
new.file <- input$my.file
loadWorkbook(
filename = new.file$datapath,
create = FALSE,
password = NULL
)
})
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
df_lst <- reactive({
# read all sheets into a list
lapply(getSheets(wb()),
function(sheet){
readWorksheet(object = wb(),
sheet = sheet)
})
})
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
observeEvent(input$done, {
# get the list of dfs from the app
stopApp(c(df_lst()))
})
}
runGadget(ui, server)
}
test <- launch_shiny()
Если я добавлю runtime: shiny
в начале, произойдет сбой, поскольку runGadget
использует runApp
, который также используется shiny
; однако мне нужно убедиться, что я могу вернуть переменную (в данном случае, список фреймов данных) в глобальную среду, поэтому я использовал stopApp
.
Какие у меня варианты на данный момент?