【发布时间】:2020-06-29 21:12:25
【问题描述】:
我对 R 和 R shiny 非常陌生,我目前正在开发一个基本的闪亮应用程序,它允许用户导入数据集,然后使用 selectInputs 对数据运行方差分析以确定自变量和因变量。但是,每当我尝试执行 anova 函数时,都会收到此错误:
警告:model.frame.default 中的错误:变量“input$var3”的类型无效 (NULL)
我也收到了这个错误:
警告:对比错误
我无法弄清楚为什么会出现此错误,并且大多数解释仅指 R 中的此错误,而不是 R 闪亮。同样,我是初学者,所以我的代码可能非常难看。非常感谢任何帮助!
ui <- fluidPage(theme = shinytheme("cosmo"),
titlePanel("Stats App"),
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("input.statChoice == 'A2btw'",
uiOutput("ind1"),
uiOutput("ind2"),
uiOutput("dep1")),
)
)
),
mainPanel(
tabsetPanel(type = "tab",
tabPanel("Data",
tableOutput("fileData")),
tabPanel("Summary Statistics",
verbatimTextOutput("stats")),
tabPanel("Graphs"))
)
)
)
server <- function(input, output) {
fileData <- eventReactive(input$file1,{
read.csv(input$file1$datapath, header = TRUE, sep = ",", dec = ".", comment.char = "")
})
output$fileData <- renderTable(
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())
})
output$stats <- renderText({
summary(aov(input$var3 ~ as.factor(input$var1) + as.factor(input$var2), data = fileData()))
})
}
shinyApp(ui = ui, server = server)
【问题讨论】: