让我们直接来看一个例子,考虑以下方程:
frml <- formula(y ~ a + b | x + z )
这样的公式规范通常与 AER::ivreg
一起使用。
我想更新这个公式,使其读作
frml2 <- y ~ a + b + c | x + z + w
然而,我不确定如何分别更新条件符号|
之前和之后的部分。例如:
frml2 <- update.formula(frml, . ~ . + c | . + w)
提供。
y ~ ((a + b | x + z) + c | (a + b | x + z) + w)
这不是我想要的。问题在于 .
代表右(或左)侧的整个公式,包括条件语句。有没有办法相应地更新公式呢?
一种方法似乎是将这个公式转换成字符向量,在 |
处将该向量拆分,添加任何想要添加的内容,然后重新组合公式。虽然这样很容易,但我感觉一定有更简单的方法。我肯定不是第一个遇到这种问题的人。任何建议/提示/评论都将不胜感激!