全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
761 0
2024-12-02
clear
quietly{
clear
input str9 gvkey year str10 fqenddt bhr a
31 2005 "2002/3/31" 0.3565015 0.02116004
31 2005 "2002/6/30" 0.4100328 0.02116004
31 2005 "2002/9/30" -0.2517873 0.02116004
31 2005 "2002/12/31" -0.173169 0.02116004
31 2005 "2003/3/31" 0.0910931 0.02116004
31 2005 "2003/6/30" 0.011535 0.02116004
31 2005 "2003/9/30" -0.0306233 0.02116004
31 2005 "2003/12/31" -0.1218563 0.02116004
608 2005 "2002/6/30" -0.0563066 0.034307506
608 2005 "2002/9/30" -0.1087845 0.034307506
608 2005 "2002/12/31" -0.1365316 0.034307506
608 2005 "2003/3/31" 0.0479617 0.034307506
608 2005 "2003/6/30" -0.082426 0.034307506
608 2005 "2003/9/30" -0.1919279 0.034307506
608 2005 "2003/12/31" -0.0780903 0.034307506
end
gen fqenddt_date = date(fqenddt, "YMD")  
format %tdCCYY-NN-DD fqenddt_date
drop fqenddt
rename(fqenddt_date )(fqenddt)  
        save "test.dta", replace
}

use "test.dta", clear
tempfile raw
save `raw'
rename (*) (*2)
* keep the merging vars same
rename (fqenddt2)(fqenddt)
joinby fqenddt using `raw'
drop if gvkey==gvkey2
sort gvkey  gvkey2  fqenddt               
drop year2
order gvkey year  fqenddt bhr  a   gvkey2   bhr2 a2
*

得到的结果为:
gvkey        year        fqenddt        bhr        a        gvkey2        bhr2        a2
31        2005        2002/6/30        0.4100328        0.02116        608        -0.0563066        0.0343075
31        2005        2002/9/30        -0.2517873        0.02116        608        -0.1087845        0.0343075
31        2005        2002/12/31        -0.173169        0.02116        608        -0.1365316        0.0343075
31        2005        2003/3/31        0.0910931        0.02116        608        0.0479617        0.0343075
31        2005        2003/6/30        0.011535        0.02116        608        -0.082426        0.0343075
31        2005        2003/9/30        -0.0306233        0.02116        608        -0.1919279        0.0343075
31        2005        2003/12/31        -0.1218563        0.02116        608        -0.0780903        0.0343075
608        2005        2002/6/30        -0.0563066        0.0343075        31        0.4100328        0.02116
608        2005        2002/9/30        -0.1087845        0.0343075        31        -0.2517873        0.02116
608        2005        2002/12/31        -0.1365316        0.0343075        31        -0.173169        0.02116
608        2005        2003/3/31        0.0479617        0.0343075        31        0.0910931        0.02116
608        2005        2003/6/30        -0.082426        0.0343075        31        0.011535        0.02116
608        2005        2003/9/30        -0.1919279        0.0343075        31        -0.0306233        0.02116
608        2005        2003/12/31        -0.0780903        0.0343075        31        -0.1218563        0.02116



但是我希望得到的结果为
gvkey        year        fqenddt        bhr        a        gvkey2        bhr2        a2
31        2005        2002/3/31        0.3565015        0.02116004        608                0.0343075
31        2005        2002/6/30        0.4100328        0.02116        608        -0.0563066        0.0343075
31        2005        2002/9/30        -0.2517873        0.02116        608        -0.1087845        0.0343075
31        2005        2002/12/31        -0.173169        0.02116        608        -0.1365316        0.0343075
31        2005        2003/3/31        0.0910931        0.02116        608        0.0479617        0.0343075
31        2005        2003/6/30        0.011535        0.02116        608        -0.082426        0.0343075
31        2005        2003/9/30        -0.0306233        0.02116        608        -0.1919279        0.0343075
31        2005        2003/12/31        -0.1218563        0.02116        608        -0.0780903        0.0343075
608        2005        2002/6/30        -0.0563066        0.0343075        31        0.4100328        0.02116
608        2005        2002/9/30        -0.1087845        0.0343075        31        -0.2517873        0.02116
608        2005        2002/12/31        -0.1365316        0.0343075        31        -0.173169        0.02116
608        2005        2003/3/31        0.0479617        0.0343075        31        0.0910931        0.02116
608        2005        2003/6/30        -0.082426        0.0343075        31        0.011535        0.02116
608        2005        2003/9/30        -0.1919279        0.0343075        31        -0.0306233        0.02116
608        2005        2003/12/31        -0.0780903        0.0343075        31        -0.1218563        0.02116


【问题】
当然上面可以通过改变原始的数据集来实现

请问在不改变原始数据集的情况下,有没有方法实现? 多谢


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群