一 算数符号、关系符号、逻辑符号
算数符号
基本的算数符号
"+" " - " "* " "/ " "^"
eg. generate h=(t0+t1*t2^2)^0.5
关系符号
6种关系符号
等于 “==”
(重点,“==”表示一种逻辑检验,左边值是否与右边值相等,而“=”表示: 左边值等于右边)
不等于 “!=”
大于 “>”
小于 “<”
大于等于 “>=”
小于等于 “<="
组合条件语句"if"来使用
eg. gen h2=1 if t0>t1
eg. replace h2=0 if t0==t1
逻辑符号
2种关系符号
且:“&”,交集
或:”|”,并集
eg. replace h4=1 if t0<120|t0>130
二 In/if/by
In
in用于指定观测值
# / # 从一个数值到另一个数值
从第一个值到第十个值: in 1/10 in f/10
从第二十个值到最后一个值 : in 20/1( 小写的L,不是1 )
第十个值 : in 10
eg. gen h1=100 in 10 replace h1=200 in 1/5
if
条件语句
eg. generate m="2005年的房子" if year==2005
by
By作为前置语句,用于分组
by varlist : stata cmd
Bysort varlist : stata cmd
By需要先排序( sort )再分组,而bysort可以直接执行
eg. sort m by m:egen arv=mean(t0)
按照m进行排序分组,计算t0和t1分组平均值
eg. bysort m:egen arv1=mean(t1)
三 变量的清除与保留
Keep与drop
删除变量: drop var
根据条件删除值: drop if exp
根据条件保留值 : keep if exp
删除标签值: label drop lblname
eg. drop if h1==100
eg. label drop aa
先定义一个值标签
四 常用函数汇总
常用函数
可以与generate、replace一起用的函数,资料链接:http://www.docin.com/p-466649455.html
重要的常用函数:
- abs(x)绝对值
- ceil (x)大于或等于x的最小整数
- floor(x)小于等于x的最大整数
- mod(x,y),x/y的余数
- round(x),x四舍五入的整数
- sign(x),符号函数:x<0时为-1,X=0时为0,x>0时为1