stata中变量生成命令:gen和egen

stata中变量生成命令:gen和egen

egen 和 gen 都用于生成新变量,但egen 的特点是它更强大的函数功能。 gen 可以支持一些函数, egen 支持额外的函数。如果用 gen 搞不定,就得用egen想办法了。

变量
在分析的过程中,有些变量并没有在数据中提供,需要我们用原始数据或者回归的结果构造。常用的命令是 “gen” 和 “egen” 。

gen

格式 gen educsqr=educ^2

egen

egen命令相对复杂一些,它能生成一些“gen”命令无法生成的变量。例如可以生成wagesum为每个人的工资和,以及生成wagemedian为工资的中位数(median),wagemax为工资的最大值。

格式:
egen wagesum=sum(wage)
egen wagemedian=median(wage)
egen wagemax=max(wage)

按照变量分组egen

更复杂的如想产生一个变量“wagemax”为相同教育水平里的最高工资。

格式: egen wagemaxeduc=max (wage),by (educ)

egen中的group

egen v1 = group(var1)
egen v3 = group(var1 var3)

程序运行结果如下:
在这里插入图片描述
可以看到group,是对【属于同一组的的观测】进行【标同样的序号】的处理,而group后括号中的变量则为【标识观测是否为同一组的观测的属性】,即括号中的变量完全相同则可以认为属于同一组,则它们具有相同的组号。

注意区别gen和egen

gen x=_n //生成新变量x, x 的取值从1 到5
gen y=sum(x) //求列累计和
egen z=sum(x) //求列总和,注意比较y 和Z 的不同

在写由日超额收益率计算累计收益率的方法,错把egen写成了gen,因此计算错误。

by id: egen cumulative_abnormal_return = sum(abnormal_return) //注意原来用的gen计算总是出错,用了egen就没问题了

参考复制经管之家帖子:
https://bbs.pinggu.org/thread-801916-1-1.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值