【问题标题】:looping columns values for loop training data r循环训练数据 r 的循环列值
【发布时间】:2016-06-07 20:09:23
【问题描述】:


我正在尝试从数据框中构建训练和测试模型。我正在使用随机森林方法并构建模型。
我的数据框有 6 列,其中第一列是结果(是/否),其余 5 列是自变量。我使用所有自变量(结果 ~ ., data =training, method="rf")构建模型。 我要做的是尝试所有可能的自变量组合并生成一个模型(如 col1、col1 + col2、col1+col2+col3 等等..)我的数据框可能有 120 种组合.
我需要帮助才能在循环中自动执行此操作,但无法弄清楚如何将循环放在一起。 提前致谢。

data <- read.csv("temp.csv", header = TRUE)
splitdata <- createDataPartition(y=data$var1, p=0.75)
training <- df[splitdata,]
testing  <- df[-splitdata,]
no_of_cols <- 2:ncol(training)
for (i in no_col)
{
   permn (no_of_col)
   #model <- train(var1 ~ ., data=training,  method="rf")
    model[i] <- train(var1 ~ training[,i], data=training,  method="rf")        
    predictions[i] <- predict(model[i],newdata=testing)
} 

【问题讨论】:

    标签: r


    【解决方案1】:

    我相信您所需要的只是快速修复您的 for 循环:

    for (i in 1:no_col)
    {
      code
    } 
    

    【讨论】:

    • 感谢阿里斯蒂德的建议。我使用了上面的修复,现在出现错误: UseMethod("predict") 中的错误:没有适用于 'predict' 的方法应用于类 "character" 的对象此外:有 29 个警告(使用 warnings() 来查看它们)
    • 我们修复了 for 循环,这很好。对于您的其他错误,也许这个类似的问题可能会帮助您:stackoverflow.com/questions/20346633/…
    猜你喜欢
    • 1970-01-01
    • 2021-09-13
    • 1970-01-01
    • 2020-05-19
    • 1970-01-01
    • 1970-01-01
    • 2018-12-16
    • 1970-01-01
    • 2023-04-05
    相关资源
    最近更新 更多