我常用的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
<未完待续...>
- 我常用的STATA数据管理
- Stata 外部命令:最常用和最新的命令
- 关于stata的运用
- 君生我未生!Stata
- SAS、Stata与SPSS的比较
- 深入理解Stata的week()函数
- STATA:坐标轴显示小数点前面的0
- 我的努力方向:数据管理的科学方法
- Oracle 数据管理常用操作命令
- 主数据管理之一:主数据管理的定义
- Mac OS 下 新开Stata窗口的方法
- stata笔记
- stata随笔
- 网络游戏的数据管理
- Google的数据管理项目
- Hadoop的数据管理
- 数据管理部分的设计
- 数据仓库的元数据管理
- 二叉树与链表之间的转换
- C++ 智能指针详解
- C++ auto_ptr智能指针的用法
- python in android
- EJB入门例子
- 我常用的STATA数据管理
- CDN(内容分发网络)技术原理
- WPF 鼠标拖动界面
- Spring3:如何配置ContentNegotiatingViewResolver返回JSON或者XML格式数据?
- 互联网战神谷歌大牛Jeff Dean
- PAIP.并发编程 多核编程 线程池 ExecutorService的判断线程结束
- 黑马程序员_abstract抽象类(随堂笔记)
- paip.java 多线程参数以及返回值Future FutureTask 的使用.
- 黑马程序员——高新技术加强学习笔记与心得