使用purrr生成模型的强制错误

使用purrr生成模型的强制错误,r,dplyr,purrr,R,Dplyr,Purrr,为了提高我对R库purrr和dplyr的理解,我正在通过一个使用不同模型和数据集拆分描述的示例进行工作。但是,在使用多个参数(例如,使用map2()和pmap())时,我遇到了强制错误: (列表)对象不能强制为“整型” 我已简化了我的软件,尝试使用以下方法确定我的错误: library(dplyr) library(purrr) library(randomForest) # generate a list of data frames ( using the

为了提高我对R库purrr和dplyr的理解,我正在通过一个使用不同模型和数据集拆分描述的示例进行工作。但是,在使用多个参数(例如,使用map2()和pmap())时,我遇到了强制错误:

(列表)对象不能强制为“整型”

我已简化了我的软件,尝试使用以下方法确定我的错误:

    library(dplyr)
    library(purrr)
    library(randomForest)

    # generate a list of data frames ( using the iris data set )

    data_list <- lapply(1:10, FUN = function(x) iris)

    # generate a list of parameters:

    param_list <- as.list(seq.int(100,1000, by = 100))

    # - following works

    models <- data_list %>% map(~randomForest(Species ~., data = .))

   # - following works

    models <- seq_along(param_list) %>% 
              map(~randomForest(Species ~., data = data_list[[.]],
                                           ntree = param_list[[.]]))

    # - following has error: Error in randomForest.default(m, y, ...) : 
    #     (list) object cannot be coerced to type 'integer'

     models <- map2(data_list, param_list, 
                 ~randomForest(Species ~., data = ., ntree = .))
库(dplyr)
图书馆(purrr)
图书馆(森林)
#生成数据帧列表(使用iris数据集)

数据列表您应该可以:

models <- map2(data_list, param_list, 
               ~randomForest(Species ~., data = .x, ntree = .y))

型号您应该可以:

models <- map2(data_list, param_list, 
               ~randomForest(Species ~., data = .x, ntree = .y))

models感谢我在map2()上实现的解决方案,它很有效。很抱歉问另一个相关问题-但当我添加第三个列表(例如mtry_列表)时,我很好奇,真的不知道为什么会这样(我已经证实了这一点)。我看到了这个问题,如果有疑问,我建议使用常规的匿名函数语法。感谢我在map2()上实现的解决方案,它很有效。很抱歉问另一个相关问题-但当我添加第三个列表(例如mtry_列表)时,我很好奇,真的不知道为什么会这样(我已经证实了这一点)。我看到了这个问题,如果有疑问,我建议使用常规匿名函数语法。