【发布时间】:2017-05-02 11:42:29
【问题描述】:
我想用caret 包训练几个模型(7 个响应变量中的每一个)在一个循环中。
我的 data.frame data 有 46 个预测变量(全部用于训练所有模型)和 7 个响应。
我尝试了一些 Rcode 但失败了:
models.list = list()
Ynames = names(data)[47:ncol(data)]
for(y in Ynames)
{
models.list[[y]] = train(as.name(y)~., subset(data,select=-Ynames[-y]),method="".....)
}
我的变量Ynames 包含所有响应。
每个模型都必须使用单个响应变量进行训练。
因此,对于迭代 1,我们将针对 Ynames[1] 响应和所有 46 个预测变量训练模型,但有必要从数据集 data 中排除所有非第一响应变量 (Ynames[-1])。
【问题讨论】:
标签: r for-loop machine-learning subset r-caret