【问题标题】:How to write local macros for regression loops [closed]如何为回归循环编写本地宏[关闭]
【发布时间】:2018-08-21 15:26:57
【问题描述】:

我正在 Stata 中编写一个回归循环,以计算具有不同因变量以及一些常数和一些不同自变量的多个模型。这是一个例子:

regress y1code1 relcode1 melcode1
regress y2code1 relcode1 melcode1
regress y3code1 relcode1 melcode1

regress y1code2 relcode2 melcode2
regress y2code2 relcode2 melcode2
regress y3code2 relcode2 melcode2

regress y1code3 relcode3 melcode3
regress y2code3 relcode3 melcode3
regress y3code3 relcode3 melcode3

regress y1code4 relcode4 melcode4
regress y2code4 relcode4 melcode4
regress y3code4 relcode4 melcode4

对于其他 30 个未按顺序排序的代码**重复该结构(在标签中,第一个从 1 到 24,另一个从 69 到 74)

对于上述三个因变量,只有单个代码回归的循环有什么建议吗?

【问题讨论】:

    标签: for-loop foreach regression stata


    【解决方案1】:

    我不会尝试为您提到的不规则名称编写代码。似乎为了您的最大利益,您应该 rename 使用一致的逻辑模式。

    你的代码块

    regress y1code1 relcode1 melcode1
    regress y2code1 relcode1 melcode1
    regress y3code1 relcode1 melcode1
    
    regress y1code2 relcode2 melcode2
    regress y2code2 relcode2 melcode2
    regress y3code2 relcode2 melcode2
    
    regress y1code3 relcode3 melcode3
    regress y2code3 relcode3 melcode3
    regress y3code3 relcode3 melcode3
    
    regress y1code4 relcode4 melcode4
    regress y2code4 relcode4 melcode4
    regress y3code4 relcode4 melcode4
    

    可以改写

    forval j = 1/4 { 
    
        local x relcode`j' melcode`j' 
    
        forval k = 1/3 { 
            regress y`k'code`j' `x' 
        } 
    
     }
    

    作为代码测试(没有我可以使用的数据示例),我运行了这个代码:

    forval j = 1/4 { 
    
        local x relcode`j' melcode`j' 
    
        forval k = 1/3 { 
            display "regress y`k'code`j' `x'"  
        } 
    
     }
    

    结果如下:

    regress y1code1 relcode1 melcode1
    regress y2code1 relcode1 melcode1
    regress y3code1 relcode1 melcode1
    regress y1code2 relcode2 melcode2
    regress y2code2 relcode2 melcode2
    regress y3code2 relcode2 melcode2
    regress y1code3 relcode3 melcode3
    regress y2code3 relcode3 melcode3
    regress y3code3 relcode3 melcode3
    regress y1code4 relcode4 melcode4
    regress y2code4 relcode4 melcode4
    regress y3code4 relcode4 melcode4
    

    【讨论】:

    • 另外一个来自我,虽然我怀疑 OP 一开始并不知道她/他想要什么(因此我投票结束了这个问题)。
    猜你喜欢
    • 1970-01-01
    • 2010-09-07
    • 1970-01-01
    • 1970-01-01
    • 2021-01-18
    • 1970-01-01
    • 2013-04-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多