我对使用 R Shiny 很陌生。我正在尝试创建一个有助于在预定数据集上创建 RandomForest 模型的应用程序。
然而,我已经陷入了模型的困境。计划是基于 UI 侧的复选框和单选按钮创建模型。但是,该模型仅在这些元素没有反应时才有效。所以
rfmodel <- randomForest(ADJOE ~ TOR, data=df_train, mtry=5) 工作正常。但 rfmodel <- randomForest(input$outcome ~ TOR, data=df_train, mtry=5)没有。错误是:可变长度不同(为“TOR”找到)。
input$outcome 应该与 ADJOE 完全相同。作为测试,我还使用 input$outcome 变量对我也用来生成模型的 train_data 进行子集化,使用以下代码
names <- colnames(df_valid)
testsubset <- names[names %in% input$outcome]
df_train <- df_train[testsubset]
效果很好。
在这种情况下,我根本不知道 input$outcome 与 ADJOE 有何不同。
我获取结果变量的代码是:
radioButtons("outcome", "Outcome Variable",
choices = c("ADJOE", "ADJDE", "EFG_O", "EFG_D", "TOR", "TORD", "FTR", "FTRD", "X2P_O", "X2P_D", "X3P_O", "X3P_D"),
selected = "ADJOE"),
我创建模型的代码是:
rfmodel <- randomForest(input$outcome ~ TOR, data=df_train, mtry=5)
使用精简版的大学篮球数据集:https ://www.kaggle.com/andrewsundberg/college-basketball-dataset
这是使用修剪下来的
df <- csv[,c(5,6, 8:11, 14:19)]
我将不胜感激任何有关此问题的帮助。