R对导入数据进行的基本方差分析产生以下错误:model.frame.default中的错误:变量'的类型无效(NULL);输入$var3';
我对R和R Shining非常陌生,目前我正在开发一个基本的shinyapp,它允许用户导入数据集,然后使用selectInputs对数据进行方差分析,以确定自变量和因变量。但是,每当我尝试执行anova函数时,我都会收到以下错误: 警告:model.frame.default中出错:变量“input$var3”的类型无效(NULL) 我还收到了以下错误:R对导入数据进行的基本方差分析产生以下错误:model.frame.default中的错误:变量'的类型无效(NULL);输入$var3';,r,shiny,anova,R,Shiny,Anova,我对R和R Shining非常陌生,目前我正在开发一个基本的shinyapp,它允许用户导入数据集,然后使用selectInputs对数据进行方差分析,以确定自变量和因变量。但是,每当我尝试执行anova函数时,我都会收到以下错误: 警告:model.frame.default中出错:变量“input$var3”的类型无效(NULL) 我还收到了以下错误: 警告:对比度错误您的应用程序中存在几个问题 只要您的输入变量尚未初始化,即启动应用程序时,在选择“Stats”之前,它们都是NULL。这就是
警告:对比度错误您的应用程序中存在几个问题
NULL
。这就是为什么在model.frame.default中出现警告警告:错误:变量'input$var3'的类型无效(NULL)
。为了防止这种情况,您可以添加例如req(输入$var3)
aov(“mpg”~as.factor(“mpg”)+as.factor(“mpg”),data=mtcars)
。正如您可以在R控制台中检查的那样,这将不起作用。要实现这一点,您必须将输入变量转换为“符号”。我下面的方法只是将公式设置为字符串,然后通过as.formula
将其转换为公式
renderText
将不适用于模型输出。为此,请使用renderPrint
output$stats <- renderPrint({
req(input$var1)
req(input$var2)
req(input$var3)
fmla <- paste(input$var3, "~",
"as.factor(", input$var1, ")", "+",
"as.factor(", input$var2, ")")
summary(aov(as.formula(fmla), data = fileData()))
})
output$stats哇,谢谢!这是完美的,现在更有意义了。它在我的应用程序中运行良好,我将来会使用它。
output$stats <- renderPrint({
req(input$var1)
req(input$var2)
req(input$var3)
fmla <- paste(input$var3, "~",
"as.factor(", input$var1, ")", "+",
"as.factor(", input$var2, ")")
summary(aov(as.formula(fmla), data = fileData()))
})