Функция fileInput не отвечает в блестящем - PullRequest
1 голос
/ 18 июня 2020

Я новичок в R и R shiny и работаю над созданием статистического приложения, которое позволит пользователю импортировать файлы, а затем запускать различные программы статистики для данных. Функция fileData до недавнего времени у меня работала нормально, а теперь, когда я пытаюсь загрузить файл, ничего не открывается. Я перепробовал все, что мог придумать, чтобы запустить его, но похоже, что файл не прикрепляется к функции. Любая помощь будет очень признательна!

library(shiny)
library(shinyFiles)
library(dplyr)
library(shinythemes)

ui <- fluidPage(theme = shinytheme("cosmo"),
# Application title
titlePanel("Stats"),

# Sidebar
sidebarLayout(
    sidebarPanel(
        tabsetPanel(type = "tab", 
                    tabPanel("SCI",

                        fileInput("file1", "Insert File", multiple = TRUE, accept = c("text/csv", "text/comma-separated-values, text/plain", ".csv")),

                        selectInput("statChoice", "Choose Stats", c("None" = "None", "ANOVA 0 w/in 1 btw" = "A1btw", "ANOVA 0 w/in 2 btw" = "A2btw")),

                            conditionalPanel("statChoice == 'A1btw'",
                                uiOutput("ind1"),
                                uiOutput("dep1")),

                            conditionalPanel("statChoice == 'A2btw'",
                                uiOutput("ind1"),
                                uiOutput("ind2"),
                                uiOutput("dep1")),
            )
        )
    ),

    # Show a plot of the generated distribution
    mainPanel(
       tabsetPanel(type = "tab",
                   tabPanel("Data", 
                            dataTableOutput("fileData")),
                   tabPanel("Summary Statistics"),
                   tabPanel("Graphs"))
    )
    )
)

server <- function(input, output) {
fileData <- eventReactive(input$file1,{
    read.csv(input$file1$dataPath, header = TRUE, sep = ",", dec = ".")
})

output$fileData <- renderDataTable(
    fileData()
)

vars <- reactive({
    names(fileData())
})

output$ind1 <- renderUI({
    selectInput("var1", "Independent 1", choices = vars())
})

output$ind2 <- renderUI({
    selectInput("var2", "Independent 2", choices = vars())
})

output$dep1 <- renderUI({
    selectInput("var3", "Dependent 1", choices = vars())
})
}

shinyApp(ui = ui, server = server)

1 Ответ

0 голосов
/ 18 июня 2020

Сложно, потому что Shiny не предупреждает об этом:
блестящее приложение не будет работать, если один и тот же «вывод» используется два раза в Ui.R .

Все выглядит нормально, кроме двойного использования uiOutput("dep1") и uiOutput("ind1"):

conditionalPanel("statChoice == 'A1btw'",
    uiOutput("ind1"),
    uiOutput("dep1")),

conditionalPanel("statChoice == 'A2btw'",
    uiOutput("ind1"),
    uiOutput("ind2"),
    uiOutput("dep1")),

Вы должны использовать вывод только один раз .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...