我正在使用 lm() 函数开发和优化线性模型,随后使用 step() 函数进行优化。我通过使用 0 和 1 的随机生成器(每个 50% 的机会)向我的数据帧添加了一个变量。我使用此变量将数据帧子集化为训练集和验证集如果未将记录分配给训练集,则将其分配给验证集。通过使用这些子集,我能够估计模型的拟合程度(通过对验证集中的记录使用预测函数并将它们与原始值进行比较)。我对优化模型的系数以及预测结果和实际结果分布之间的 KS 检验结果感兴趣。
我所有的代码都运行良好,但是当我想测试我的模型是否对我选择的子集敏感时,我遇到了一些问题。为此,我想创建一个 for (i in 1:10) 循环,每次使用不同的随机子集。这对我来说是一个相当大的挑战(我以前从未在 R 中使用过 for 循环)。
这是问题所在(实际上有很多问题,但这是其中之一):
我想为循环中的每个运行都有单独的数据框,并具有唯一的名称(例如:Run1、Run2、Run3)。我已经能够使用 paste(("Run",1:10,sep="") 创建一个具有不同字符串的变量,但这只是给你一个字符串列表。如何使用这些字符串作为我的 (子集)数据帧?
我预计会遇到的另一个问题:随后我想为每次运行使用拟合系数并将其导出到 Excel。通过使用 coef(function) 我已经能够检索系数,但是由于优化算法,模型中包含的系数的数量可能会在每次模拟运行时发生变化。这几乎肯定会给我将它们粘贴到同一个数据框中带来一些麻烦,对此有什么想法吗?
谢谢你的协助。