在上篇的推文中《论egen的花样用法(一)》,咱们介绍了egen与4个函数命令搭配可以产生怎样的效果,那么接下来,小编就给大家介绍另外5个好用的搭配。 1.egen与row function 由上篇推文我们知道,我们可以计算列总和、列均值、列标准差,如果想要得到关于行的各个描述性统计量,可以进行以下操作: use http://www./data/r13/egenxmpl4, clear egen total = rowtotal(a b c) // 得行总和 egen avg = rowmean(a b c) //得行均值 egen std = rowsd(a b c) //得行标准差 egen miss = rowmiss(a b c) //得行缺失值的个数 egen min = rmin(a b c) //得该行最小值 egen last = rlast(a b c) //得该行最后一个变量的值 list 结果如下: 2.egen与pc与pctile 如果想得到某列变量中各个观测值所占的比例或者百分比或者指定百分位数的值时,我们可以这样操作: use auto,clear keep mpg egen sum=sum(mpg) //得到mpg的列总和 egen per=pc(mpg),prop //mpg中每个观测值的值占列总和的比例 egen per_1=pc(mpg) //mpg中每个观测值的值占列总和的百分数 egen pct=pctile(mpg),p(25) //生成mpg的第25百分位上的值 egen pct_1=pctile(mpg) //生成mpg的中位数 sort mpg //按照mpg的大小来排序 list in 1/10 如果添加了prop,则生成的是每个观测值所占的比例,如果不添加,则生成的是每个观测值所占的百分比。p()括号内可以自由设定具体百分位数,默认为中位数。 结果如图: 3.egen与rank egen与rank搭配可以生成几个不同样式的排列顺序: sysuse auto, clear keep in 16/30 keep mpg egen rank_u = rank(mpg), unique //无重复名次 egen rank = rank(mpg) //正序排名,排名有可能会出现0.5 egen rank_r = rank(-mpg) //倒序排名 egen rank_t = rank(mpg), track //track指定最小观测值排名为1,若出现相同数字,排名并列 egen rank_f = rank(mpg), field //field指定最大观测值排名为1,若出现相同数字,排名并列 sort rank_u list rank_u排名的具体算法为:按照大小排序之后,相同数字在该列的排名之和除以相同数字的个数。 结果如下: 4.egen与anyvalue与anymatch use auto, clear keep rep78 egen a = anyvalue(rep78), v(3/5) //若rep78不为3、4、5,则为缺失值 egen b = anymatch(rep78), v(3/5) //若rep78不为3、4、5,则赋值0,否则赋值1 list in 1/10 结果如下: 5.egen与std use http://www./data/r15/states1, clear 结果如下: corr age stdage //查看二者的相关性,发现新变量和原始变量是完全相关 除了可以将变量转化为标准正态分布,还可以转化为指定均值和方差的随机变量。 egen newage1 = std(age), std(2) //生成均值为1,标准差为2的随机变量 egen newage2 = std(age), mean(2) std(4) //生成均值为2,标准差为4的随机变量 egen newage3 = std(age), mean(2) sum age new* 不指定mean(),则默认均值为1;不指定std(),则默认标准差为1。 结果如下: corr age new* //查看相关性,发现新变量和原始变量是完全相关 什么?!没看懂!!不要紧!!戳下面,听爬虫小将的详细讲解,也欢迎大家的批评指正哟! 以上就是今天给大家分享的内容了,说得好就赏个铜板呗!有钱的捧个钱场,有人的捧个人场~另外,我们开通了苹果手机打赏通道,只要扫描下方的二维码,就可以打赏啦! 应广大粉丝要求,爬虫俱乐部的推文公众号打赏功能可以开发票啦,累计打赏超过1000元我们即可给您开具发票,发票类别为“咨询费”。用心做事,只为做您更贴心的小爬虫。第一批发票已经寄到各位小主的手中,大家快来给小爬虫打赏呀~ 文字编辑:徐露露 技术总编:刘贝贝 |
|