Ctree R 函数不适用于我的 for 循环

Ctree R function is not working with my for loop

我想为 for 循环创建一个列表,而不是像下面那样将它用于 ctree。但我做不到。 我收到一些错误,例如“不支持字符”,即使我将列表更改为 factor

我想用 y 列表更改 val 变量,用于 for 循环。

有什么办法让它起作用吗?

y <- c("A","B","C")
x <- as.factor(y)
for(val in x) {
      ctree_model<- ctree(FTR ~ val, data = train,controls=ctree_control(minsplit=30,minbucket=10,maxdepth=10))
    }

应使用 pastereformulate 构建公式。此外,用于存储输出的 'ctree_model' 可以是一个 list,其中 list 的每个元素存储对应于 x 的 'val' 的模型,而不是覆盖 [=15] =]

ctree_model <- vector('list', length(x))
names(ctree_model) <- levels(x)
for(val in levels(x)) {
   ctree_model[[val]] <- ctree(reformulate(val, response = 'FTR'), 
            data = train, 
     controls = ctree_control(minsplit = 30, minbucket = 10, maxdepth  =10))
 }