全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
7428 3
2018-03-14
我每次都是用同样的原始数据,一样的stata命令来处理数据,可是每次处理后的数据库居然是不一样的,这让我很苦恼,检查了好久发现数据是从egen mis=rowmiss(_all)drop if mis

这里开始不一致的,每次删除的记录数不同。drop if 报表类型 == "B"这个命令每次删除的记录数也不一样。求懂这个的老师同学们指点一下,真的谢谢了。下面我把我的stata命令贴出来。数据库在附件里。谢谢老师同学们

clear all
use "固定资产.dta "
///325133
merge m:n 证券代码 会计期间 using "纵向利润.dta " ,keep (match)
rename _merge m利润
merge m:n 证券代码 会计期间 using "纵向折旧.dta ",keep (match)
rename _merge m折旧
merge m:n 证券代码 会计期间 using "纵向投资.dta ",keep (match)
rename _merge m投资
merge m:n 证券代码  using "申万行业分类.dta ",keep (match)
rename _merge m基本情况

merge m:n 证券代码  using "企业状态.dta ",keep (match)
rename _merge m企业状态
//仅保留12月31日的数据
gen 年份=substr(会计期间,1,4)
gen 月份=substr(会计期间,6,2)
keep if 月份 == "12"

//和个股回报率数据合并
merge m:n 证券代码  年份 using "个股回报率.dta ",keep (match)
rename _merge m个股回报率


//和存贷款利率合并
merge m:n 年份 using "存贷款利率.dta ",keep (match)
rename _merge m存贷款利率
drop m*



//删除B股
drop if strmatch(证券代码,"200***")
drop if strmatch(证券代码,"900***")
//删除状态异常股:ST和*ST
keep if 戴帽摘帽时间 == ""


//删除非银金融和银行以及公用事业
drop if 所属行业 == "非银金融"
drop if 所属行业 == "公用事业"
drop if 所属行业 == "银行"


//删除那些上市时间晚于会计期间的数据
tostring year,force replace
drop if year>年份


rename 固定资产折旧油气资产折耗生产性生物资产折旧 折旧
rename 购建固定资产无形资产和其他长期资产支付的现金 构建
rename 处置固定资产无形资产和其他长期资产收回的现金净额 处置
//初步处理完毕
gen 投资=构建-处置
order 年份 证券代码 会计期间 固定资产净额 投资 营业总收入  ///
利润总额 所得税费用 构建 处置 报表类型
keep 年份 报表类型 固定资产净额 投资 短期借款 长期借款 ///
负债合计 折旧 营业总收入 利润总额 所得税费用 年个股总市值  ///
年个股流通市值 考虑现金红利再投资的年个股回报率 ///
不考虑现金红利再投资的年个股回报率 本年平均存款利率 本年平均贷款利率 所属行业
/*每次到这里的数据库还是一样的,但是接下来就不一样了*/


//删除所有含有缺失值的记录条(每次drop掉的记录不一样,每次的sum也不一样的)
egen mis=rowmiss(_all)
drop if mis
sum
//删除母公司报表类型((每次drop掉的记录不一样,每次的sum也不一样的))
drop if 报表类型 == "B"
sum

save 初步合并.dta, replace  



附件列表

企业状态.dta

大小:803.49 KB

 马上下载

纵向折旧.dta

大小:4.65 MB

 马上下载

纵向投资.dta

大小:9.52 MB

 马上下载

固定资产.dta

大小:15.2 MB

 马上下载

纵向利润.dta

大小:12.71 MB

 马上下载

二维码

扫码加我 拉你入群

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

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

全部回复
2018-3-14 13:42:25
用merge命令  m:n 的问题

你先搞清楚到底应该怎么匹配吧
仔细看看manual里面的讲解在来写命令匹配
二维码

扫码加我 拉你入群

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

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

2018-3-14 14:36:13
你按照企业代码和年份,一一对应的话,不是应该merge 1:1 吗?
二维码

扫码加我 拉你入群

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

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

2020-8-3 16:04:04
我也是遇到这样的问题,请问您解决了吗
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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