gpt4 book ai didi

r - 如何更新条件公式?

转载 作者:行者123 更新时间:2023-12-04 10:27:56 26 4
gpt4 key购买 nike

让我直接进入示例。考虑以下等式:

 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)

这不是我想要的。问题是 . 指的是右侧(或左侧)的整个公式,包括条件。有谁知道如何相应地更新公式?

一种方法似乎是将公式转换为字符向量,在 | 处拆分向量,添加我想要添加的任何内容,然后将公式重新组合在一起。虽然这很容易,但不知何故,我觉得必须有一种更简单的方法来做到这一点。我肯定不是第一个处理这类问题的人。任何建议/提示/评论将不胜感激!

最佳答案

如果您不能使用包,则无法从您的问题中确定,因为 Formula 包具有专门用于此的功能。它将其对象分类为 formulaFormula:

> library(Formula)
> frml <- Formula(y ~ a + b | x + z )
> update(frml, . ~ . + c | . + w)
y ~ a + b + c | x + z + w
> class(frml)
[1] "Formula" "formula"

关于r - 如何更新条件公式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28330966/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com