我显然是R的新人,所以事先抱歉;)
我正在尝试实现一个交互式QLR类型测试,但由于我的代码将成为纸质内容的一部分,我真的想把它作为一个函数放在一个单独的文件中。
目标是在结构中断的所有观察上迭代地对一个模型进行F检验,直到找到(假设)五个左右的结构中断,并在模型中将其作为二元虚拟变量实现。交互将被测试并手动添加。
我很抱歉没有代码,因为我还没有真正写过这个功能。但这是我想象它的工作方式:
有一个包装函数可以接收模型和变量(我也可以只访问全局对象?)作为参数。
然后调用QLR函数。它返回具有最高F值的索引以及第一个QLR重要索引之后的日期索引。)
原因是,如果我在前一个找到的假人已经为1的间隔期间测试一个虚拟变量,那么F-Test会给我一个多重共线性错误。所以如果我的初始虚拟变量是在一个非常低的指数,我不会发现它之后的任何突破。如果它是500并且我在之后的所有日期将其设置为1,则下一次迭代只能找到索引LESS大于500的重要F值。
然后包装器调用一个创建虚拟时间序列的函数,该函数在第一个索引之前为0,然后在达到第二个索引时再次为1,然后再次为0。
假设最重要的F值在索引500处,而另一个重要值在1000,1500和2000等处找到。虚拟函数然后将虚拟值设置为在500的间隔为1 999。
具有虚拟变量D1的新模型将返回到QLR函数,该函数重复新变量D2的过程,依此类推。
现在我意识到这有点令人费解,它会给我开 - 关类型的假人,它给我一个日期对模型的总影响,而不是影响的影响。但是对于上下文来说这很好,我真的不知道如何解决LHT函数中的多重共线性问题。
无论如何,我需要实现的是能够生成并动态地将模型传递给QLR函数,并动态地将新的虚拟变量添加到模型中。
我希望它不仅限于一定数量的假人,因为我事先并不知道有多少人会测试QLR的重要性。因此,我还需要能够使用动态名称添加变量。我想我可以做这个矢量,但是,必须有一个添加行功能,对吗?
您如何动态地将模型+变量传递给函数?