全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
15569 4
2018-04-13
如图 是我已经整理好的数据 仍无法排序的数据
但是用 sort stkcd date怎么也不能升序排列总是乱序 不知道咋回事儿 求大神帮忙
数据
我运行的代码为
clear all
insheet using "D:/CHN_Stkmt_ddetails.csv",clear //读取融资融券文件
save "D:/CHN_Stkmt_ddetailsb.dta",replace
*中文不能识别,解码
clear all
pwd
cd "D:/"
unicode analyze CHN_Stkmt_ddetailsb.dta //dta的文件名不可以为在内存中使用过的
unicode encoding set gb18030
unicode translate CHN_Stkmt_ddetailsb.dta //解码成功
use "D:/CHN_Stkmt_ddetailsb.dta", clear
browse
save "D:/CHN_Stkmt_ddetails.dta", replace
rename stockcode stkcd
rename mtdate tradingdate
order  tradingdate, after(stockname)
save "D:/CHN_Stkmt_ddetails.dta", replace
*检查数据是否连续
gen eventdate = date(tradingdate, "YMD")
format eventdate %td
order  eventdate, after(stkcd) //生成stata格式的日期,为数值型变量
des //查看变量类型
sort stkcd eventdate tradingdate //排序成功
gen day=date(tradingdate,"YMD") //查看是否日期之间不连续
by stkcd:gen day1=day[_n-1]
gen day2=day-day1
bysort stkcd: gen y=1 if day2>=30 //令y为停牌大于等于30个自然日的都为1,其余为0
replace y=0 if y==.
bysort stkcd: egen x=sum(y) //按照stkcd变量分组后,对每组的y求和为新变量x
*未发现数据断裂超过30天的
drop day day1 day2 y x
order  stockname, after(tradingdate)
sort stkcd eventdate tradingdate
save "D:/CHN_Stkmt_ddetails1.dta", replace //融资融券完整版为1
*无法排序

二维码

扫码加我 拉你入群

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

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

全部回复
2018-4-14 09:14:09
请不要用
复制代码
应该是
复制代码
二维码

扫码加我 拉你入群

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

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

2018-4-14 09:14:39
1.        你若要问程序 (code),请附上资料;你若要附上资料,请用 dataex 印出资料。
2.        尔后建议请用 dataex (先 ssc install dataex 并见说明) 将原始 Stata 资料中具有”代表性”的一部分资料列出,以供有意回答者实验之用,并能提供具体操作指令。并请参考 http://www.jianshu.com/p/9870080fe769,  https://bbs.pinggu.org/thread-5048204-1-1.html, 与 https://bbs.pinggu.org/thread-5917273-1-1.html
二维码

扫码加我 拉你入群

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

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

2020-8-8 16:24:59
解决了吗?
二维码

扫码加我 拉你入群

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

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

2021-4-26 21:32:11
cherrybomb2 发表于 2020-8-8 16:24
解决了吗?
楼上黄河泉老师的回答解决了问题 直接sort Stkcd eventdate就好啦
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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