我常用的STATA数据管理

来源:互联网 发布:java微信开发api文档 编辑:程序博客网 时间:2024/05/17 21:42

一、变量批量重命名:

    比如将一批变量的 a_2  b_2  c_2 d_2 e_2的后缀改为w

   ren (*_2) (*w)

二、检查重复数据常用命令:

   duplicates report x         //报告x变量有无重复

  duplicates list  x             //列出重复的记录

  bys x: gen cn=_N

  browse if cn>1

 drop cn                            //浏览具体的重复值,以便下一步分析和处理

 duplicates drop x          //删除重复值,保留重复值的第一条记录

三、数据横纵向转换:
           long
        +------------+                                   wide
        | i  j  stub |                            +----------------+
        |------------|                          | i  stub1 stub2 |
        | 1  1   4.1 |     reshape      |----------------|
        | 1  2   4.5 |   <--------->      | 1    4.1   4.5 |
        | 2  1   3.3 |                          | 2    3.3   3.0 |
        | 2  2   3.0 |                            +----------------+
        +------------+

reshape之前要检查j,stub有无重复记录,有重复无法reshape。

 纵向转成横向——如果J里面是汉字的话首先要将变量重新命名为英文字母(rt)或者数字的才可以打横后当做变量名:

                               gen rt="BP" if j=="血压"

                              replace rt="height" if j=="身高"

                          reshape wide 所有同一个i对应不一致的变量,i() j() string               //如果j是string,后面要加string 标记

横向转成纵向——要把横向数据命名为 stub1 stub2等比较整齐的名称,生成一个新的J变量。

                         reshape long stub, i( )   j(新变量名)

四、数据类型转换: destring, replace force

                                     tostring, replace force

五、截取生成新变量:例如血压(BP)130/85截取为高压(SBP)和低压(DBP)

                               gen sbp=real(substr(bp,1,3))   

                              gen dbp=real(substr(bp,-2,2)) 

六、计算生成新变量:例如用身高和体重的数据计算BMI

                               gen bmi=weight^10000/(height^2)            //体重乘以一万除以身高的平方

七、数据库合并:

     merge:加入新变量             append:变量不变,加入新纪录

 merge 1:1/1:m/m:1 barcode using "file.dta"      //merge所用的变量一定不能重复,要先处理

append using filename

八、计算变量X中相同的记录数:

例如变量x代表体检编号,有几个相同的体检编号就代表这个人体检了几次,现在要筛选出体检次数超过三次的人

    gen N=_N

  by tjid, sort: gen N1=_N           // N1即代表每个tijd有多少个观测值

drop if N1 <=3 或者 keep if N1 >=3

<未完待续...>

 

 

 

 

0 0
原创粉丝点击