stata学习笔记(五):基于stata的数据清洗技能


字符串相关函数

数字字符串与数字之间的转换

destring 字符转数字

Tostring 数字转字符串

eg.  tostring year,replace

eg.  destring year,replace

分列

split,只适用于字符串

函数内容

  split strvar [if] [in] , p( "a" )  以a为分列点

eg.  split type,p("室" "厅" "卫")

  改一下变量名

提取:substr

函数内容

eg.  gen n=substr(num,3,.)

替换:subinstr

函数内容

eg.  gen n1=subinstr(num,"sh","00",.)

在字符串中寻找特定字符

替换变量:   同excel-样    “?”、“*”

*

"a*" :ab, a ,ass (以a开头)

“*a”" :ca,a,   (以a结尾)

"*a*" ggass,a... ( 包含a即可)

?

"a?" :ab (以a开头,后有1个字符)

"a? ?" :amm (以a开头,后有2个字符)

函数内容:

eg.  gen chaoxiang=strmatch(dir,"*南*")

eg.  keep if strmatch(dir,"*南*”)  只保留带南向的

数据分类,指示变量

虚拟变量——判断变量

判断price大于100的  自动判断,满足条件则返回1

eg.  gen 一百万=1 if price>100           

replace 一百万=0 if price<=100

label define h 0"便宜" 1"好贵"             

label value 一百万 h

分类变量

generate+ replace

函数内容

eg.  gen niandai=0         

replace niandai=2 if year<2000       

replace niandai=1 if year>=2000

recode

函数内容

eg.  recode year(1/2000=1)(2000/2010=2)(2010/2020=3),gen(niandai2)

group

group(x)建立一个分类变量,将排序后的数据分为尽量等规模的X个样本(根据样本量来分类)

eg.  sort year

gen m3=group(5)

autocode

函数内容

autocode ( x,n,xmnin,xmax )
X:根据x变量分类
N:分为n类
Xmin. Xmax :根据规定的值域来分成等间距n份。并求出x值所在区间的上限

eg.  gen price2=autocode(price,5,10,480)

数据合并

横向合并

merge

两个数据文件合并一起,合并后可能变量变多,数据文件变宽了,需要有一 个变量作为参考.以此变量进行识别  (数据匹配)

函数内容

Merge=1不吻合,内存内数据存在的个案

Merge=2 不吻合,内存外数据存在的个案

Merge=3 吻合

eg.  use data0201

merge 1:1 num using data0202

纵向合并

append

函数内容

前提工作

两个文件需要有相间的变量名

变量类型一定要一致

变量的num不重复

eg.   use 0301

append using data0302

交叉合并

joinby组内合并

函数内容

比如两个样本都有分组,每一组里的样本交叉对应,取交集

举个栗子:根据两个家庭的编号,把父母和孩子配对

eg.  joinby famliyID using data0502

感谢收看,共勉~

  • 32
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值