假设有一个数据框 foo_data_frame,想要通过其他列找到目标列 Y 的回归关系。为此通常使用公式和模型。例如:
linear_model <- lm(Y ~ FACTOR_NAME_1 + FACTOR_NAME_2, foo_data_frame)
如果公式被静态编码,那么这可以很好地完成工作。如果想要在具有恒定自变量数量(比如2个)的多个模型上进行开方运算,则可以按以下方式处理:
for (i in seq_len(factor_number)) {
for (j in seq(i + 1, factor_number)) {
linear_model <- lm(Y ~ F1 + F2, list(Y=foo_data_frame$Y,
F1=foo_data_frame[[i]],
F2=foo_data_frame[[j]]))
# linear_model further analyzing...
}
}
我的问题是,在程序运行期间变量数量动态改变时如何实现相同的效果?
for (number_of_factors in seq_len(5)) {
# Then root over subsets with #number_of_factors cardinality.
for (factors_subset in all_subsets_with_fixed_cardinality) {
# Here I want to fit model with factors from factors_subset.
linear_model <- lm(Does R provide smth to write here?)
}
}