【问题标题】:Stata and how to use local variables on a regressionStata 以及如何在回归中使用局部变量
【发布时间】:2020-05-31 10:45:18
【问题描述】:

我有两组变量来解释结果(运动和大小),我有兴趣找出预测结果的哪一部分属于哪一组。 local motor 可以包含 1 个或多个变量。为了做到这一点,我需要一个代码来了解哪些变量在motor 中,并将它们的影响添加到一个名为predict_motor_smart 的变量中。在此示例中,predict_motor_smart 应等于 predict_motor。本质上,我需要为最后一行代码找到一个表达式,该表达式对local motor 变量的规范变化具有鲁棒性。

sysuse auto, clear

local outcome "price"

local  motor "mpg rep78"

local  size "weight length"

regress `outcome' `motor' `size'

gen predict_motor = _b[_cons] + mpg * _b[mpg] + rep78*_b[rep78]

 * gen predict_motor_smart = _b[_cons] + var1  of motor * beta 1 of motor + var2 of motor * beta2 of motor

【问题讨论】:

  • 请找到您的 CAPS LOCK 键并将其关闭,这样您就不会再对我们大喊大叫了。就像网络上的其他任何地方一样,输入全部大写被认为是非常不礼貌的。 SHOUTING 不会更快地为您提供帮助,当您向我们寻求免费帮助以解决您的问题时,SHOUT 是相当不合适的。谢谢。
  • 对不起。以前从未听说过全部大写被认为是不礼貌的,但我不会在帖子中写那么多,所以你一定是对的。
  • 如果我理解正确的话,你只需要在`regress'之后使用predict。无需使用局部宏(在 Stata 中总是调用它,而不是局部变量)。米
  • 谢谢尼克。 Predict 适用于对结果的总体预测,但我还需要区分由运动引起的预测部分和由大小引起的预测部分。

标签: variables regression stata local


【解决方案1】:
 sysuse auto, clear
 local outcome "price"
 local  motor "mpg rep78"
 local  size "weight length"
 regress `outcome' `motor' `size'
 predict outcome_predict
 gen predict_motor = .
 replace predict_motor = _b[_cons] + mpg * _b[mpg] + rep78*_b[rep78] if 
 outcome_predict!=.
 gen predict_motor_smart =.
 replace predict_motor_smart   = _b[_cons] if outcome_predict!=.
 foreach l of local circumstances{
 replace predict_motor_smart  = predict_motor_smart  +`l'*_b[`l']
   }

【讨论】:

    猜你喜欢
    • 2014-04-29
    • 2021-10-03
    • 2022-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-19
    相关资源
    最近更新 更多