gpt4 book ai didi

r - 如何将字符串作为变量传递给 felm 回归

转载 作者:行者123 更新时间:2023-12-02 19:53:58 28 4
gpt4 key购买 nike

这有效:

felm(y ~ x1 + x2  | fe1 + fe2 | 0 | , data = data)

我想要:

fixedeffects = "fe1 + fe2"
felm(y ~ x1 + x2 | fixedeffects | 0 | , data = data)

我尝试过:

 fixedeffects = "fe1 + fe2"
eval(bquote(felm(y ~ x1 + x2 | .(fixedeffects) | 0 | , data = data)))

但这仅在fixedeffects只是一个变量时有效

最佳答案

未经测试,但可能

form <- as.formula(sprintf("y ~ x1 + x2 | %s | 0 |",
fixedeffects))
felm(form , data = data)

如果您将 fixedeffects 存储为单个术语的向量,则可以使用 paste(fixedeffects,collapse="+") 将它们组合起来。

在这种情况下并不真正需要它,但是 reformulate() 对于这些情况很有用(实际上只是一点糖):

form <- reformulate(
sprintf("~ x1 + x2 | %s | 0 |", fixedeffects),
response="y")

reformulate() 的默认行为是将术语向量与 + 连接起来,这在这里不太有用(因此我们只向它传递一个术语) )。

关于r - 如何将字符串作为变量传递给 felm 回归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57514211/

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