第五章 函数与运算符
5.1 运算符 exp
5.1.1 代数运算
简单的例子:
其他用处:
注:sysuse:打开stata自带的数据文件 auto
5.1.2 字符运算
5.1.3 关系运算
5.1.4 逻辑运算
5.2 函数概览 function
5.3 数学函数
5.3.1 三角函数,指数和对数函数
5.3.2 取整和四舍五入
取整
四舍五入
5.3.3 求和及求均值 gen 和 egen***
##此处为stata中的代码
clear
set obs 5
gen x =_n
gen y = sum(x)
egen z = sum(x)
egen r = rsum(x)
egen havg = rowmean(x y z)
egen hsd = rowsd(x y z)
egen rmin = rowmin(x y z)
egen rmax = rowmax(x y z)
list
egen avgx = mean(x)
egen medx = median(x)
egen stdx = std(x)
list
5.3.4 其他
5.4 字符函数 string functions
掌握几个函数:
(1)
(2)
(3)
5.5 分类操作 by
example 1
##此处为stata中的代码
gen n=_n
gen N=_N
gen z=y[1]
by x , sort : gen n1=_n
by x , sort : gen N1=_N
by x , sort : gen z1=y[1]
list
example 2
原始数据:
##此处为stata中的代码
by hhid,sort :gen hhsize=_N //得到家庭规模 hhsize
by hhid,sort :gen id=_n+hhid*10 //为家庭成员编码
by hhid,sort: egen mage=mean(age) //求平均年龄
sort hhid age //按户排序,在每个户内按年龄大小排序
by hhid: gen nid=_n
list
##此处为stata中的代码
bysort hhid (age): gen nid1=_n //括号中的变量 age 只排序,不参于分组。
bysort hhid age: gen nid2=_n // hhid 和 ag e 都既用来参与排序也分组
list //比较上面两个命令得到的不同结果