首页 > 解决方案 > 如何将以下代码包装到 R 中的 for 循环中?

问题描述

我是 R 新手,目前正在使用 RandomForest Analysis。我需要创建至少 100 个 RF 模型的副本,每个副本都有不同的测试/训练数据。如果可能的话,我想自动化将代码包装成循环的任务,并保存每个模型的结果。如果没有循环,我每次都必须运行代码并手动编写输出。

这是我的代码:

#split data into 80 for training/20 for testing
obs_split <- obs_split %>%
split(if_else(runif(nrow(.)) <= 0.8, "train", "test"))
map_int(obs_split, nrow)

# grow random forest with ranger package
detection_freq <- mean(obs_split$train$species_observed)
# ranger requires a factor response to do classification
obs_split$train$species_observed <- factor(obs_split$train$species_observed)
rf <- ranger(formula =  species_observed ~ ., 
             data = obs_split$train,
             importance = "impurity",
             probability = TRUE,
             replace = TRUE, 
             sample.fraction = c(detection_freq, detection_freq))

我将不胜感激任何解决方案!谢谢

标签: rloopsdataframefor-looprandom-forest

解决方案


推荐阅读