排序
SORT 变量名1 变量名2 ……
变量更名
rename 原变量名 新变量名
删除变量或记录
drop x1 x2 /* 删除变量x1和x2
drop x1-x5 /* 删除数据库中介于x1和x5间的所有变量(包括x1和x5)
drop if x<0 /* 删去x1<0的所有记录
drop in 10/12 /* 删去第10~12个记录
drop if x==. /* 删去x为缺失值的所有记录
drop if x==.|y==. /* 删去x或y之一为缺失值的所有记录
drop if x==.&y==. /* 删去x和y同时为缺失值的所有记录
drop _all /* 删掉数据库中所有变量和数据
STATA的变量赋值
用generate产生新变量
generate 新变量=表达式
generate bh=_n /* 将数据库的内部编号赋给变量bh。
generate group=int((_n-1)/5)+1 /* 按当前数据库的顺序,依次产生5个1,5个2,5个 3……。直到数据库结束。
generate block=mod(_n,6) /* 按当前数据库的顺序,依次产生1,2,3,4,5,0。
generate y=log(x) if x>0 /* 产生新变量y,其值为所有x>0的对数值log(x),当x<=0时,用缺失值代替。
egen产生新变量
set obs 12
egen a=seq() /*产生1到N的自然数
egen b=seq(),b(3) /*产生一个序列,每个元素重复#次
egen c=seq(),to(4) /*产生多个序列,每个序列从1到#
egen d=seq(),f(4)t(6) /*产生多个序列,每个序列从#1到#2
encode 字符变量名,gen(新数值变量名)
作用:将字符型变量转化为数值变量。
STATA数据库的维护
保留变量或记录
keep in 10/20 /* 保留第10~20个记录,其余记录删除
keep x1-x5 /* 保留数据库中介于x1和x5间的所有变量(包括x1和x5),其余变量删除
keep if x>0 /* 保留x>0的所有记录,其余记录删除
STATA数据库的维护
替换已存在的变量值
replace 变量=表达式
replace bolck=6 if block==0 /* 将block=0的数全部替换为6。
replace z=. if z<0 /* 将所有小于0的z值用缺失值代替。
replace age = 25 in 17 /* 将第17条记录中的变量age替换为25。
for var x* : replace X=0 if X==. /* 将所有第一个字母为x的变量替换为0,如果该变量的值为缺失值
转载请注明:数据分析 » stata-数据预处理 _数据预处理_STATA数据库维护