全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
19480 22
2010-11-16
问题:

下载GTA数据后,有两个文件:一是数据文件,二是变量列表文件。数据文件中的变量都是英文的,可以直接导入Stata,但缺少中文标签。这可以从第二个文件,即变量列表文件中得到。
变量列表文件示例如下:

表1 GTA的变量列表文件
Stkcd:证券代码
Annodt:公告日期
Repttype:公告类型
Chgdt:变更日期
Position:变更职位
Positype:其中:变更类型
Positxx:减:销售额

对这个列表做简单处理,可以得到变量标签的定义文件。


处理步骤为:

1. 将表1中的变量列表复制-粘贴到Stata数据编辑窗口(输入edit命令可以打开):



2. 执行如下命令:

   gen v0 = subinstr(var1,"其中:","其中-",.)
   replace v0 = subinstr(v0,"减:","减-",.)
   split v0, p(:) gen(s)
   gen str20 v1 = "   label var "
   replace s1 = lower(s1)
   replace s2 = `"""' + s2 + `"""'
   gen a1 = " "
   gen a2 = a1
   order a1 v1 s1 a2 s2
   keep a1 v1 s1 a2 s2
   browse

将data-editor窗口中的内容贴入do-editor文件即可:



       label var  stkcd             "证券代码"
       label var  annodt            "公告日期"
       label var  repttype          "公告类型"
       label var  chgdt             "变更日期"
       label var  position          "变更职位"
       label var  positype         "其中-变更类型"
       label var  positxx           "减-销售额"

对于一次性需要合并大量的 GTA 数据表格的同学而言,这个方法非常省时,且不易出错。

(Source:http://blog.cnfol.com/arlion/article/28549911.html
二维码

扫码加我 拉你入群

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

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

全部回复
2010-11-16 23:16:59
赞一个,学习了!
二维码

扫码加我 拉你入群

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

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

2011-1-18 16:55:06
很有用 ,顶楼主~·
二维码

扫码加我 拉你入群

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

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

2011-1-18 18:43:51
1# arlionn
连老师,新版CSMAR已经可以直接有两行字段名,一行中文,一行英文,稍微转秩一下,用stata就可以给中文加标签。貌似更简单。当然是看了您的博客后才想起来的。
二维码

扫码加我 拉你入群

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

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

2012-2-26 10:28:19
还可以这样子呀,呵呵,谢谢楼主分享
二维码

扫码加我 拉你入群

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

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

2012-8-14 18:40:50
liangtao009 发表于 2011-1-18 18:43
1# arlionn
连老师,新版CSMAR已经可以直接有两行字段名,一行中文,一行英文,稍微转秩一下,用stata就 ...
何需“转置”呢?!
见如下程序(csv格式的示范数据在
ipobasic.zip
大小:(70.07 KB)

 马上下载

本附件包括:

  • ipobasic.csv



set more off

//  #1  insheeting
insheet using ipobasic.csv, clear noname comma
// browse

//  #2  rename, label and cleaning
foreach v of varlist _all {
        replace `v' = subinstr(`v',"[没有单位]","",1) in 1    // 修改标签
        label var `v' "`=`v'[1]'"    // 变量标签
        ren `v' `=lower("`=`v'[2]'")'    // 变量更名
}
drop in 1/2
compress


foreach v of varlist _all {   // 处理日期型变量
        if strmatch("`: variable label `v''", "*日期*") {
                gen _`v' = date(`v', "YMD")
                label var _`v' `: variable label `v''
                drop `v'
                ren _`v' `v'
                format `v' %tdCCYY/NN/DD
                order `v', before(t1)
        }
}

foreach v of varlist t1-taxtp {    // 处理其他数值型变量
        destring `v', replace
}


replace stkcd = substr("000000"+stkcd, -6, 6)  // 深交所股票代码前补足0


二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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