首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Stata 12中gen和egen有什么不同?

在Stata 12中gen和egen有什么不同?
EN

Stack Overflow用户
提问于 2012-10-21 07:30:19
回答 2查看 61.3K关注 0票数 19

为什么有两个不同的命令来生成一个新的变量?

有没有一种简单的方法来记住何时使用gen和何时使用egen

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-21 07:52:15

它们都创建了一个新变量,但使用不同的函数集。在对数据集中的其他变量进行简单转换时,通常会使用gen

代码语言:javascript
复制
gen newvar = oldvar1^2 * oldvar2

在我的工作流中,当我需要跨所有观测值工作的函数时,通常会出现egen,如

代码语言:javascript
复制
egen max_var = max(var)

或更复杂的指令

代码语言:javascript
复制
egen newvar = rowmax(oldvar1 oldvar2)

计算oldvar1oldvar2之间每个观察值的最大值。我不认为有一个清晰的逻辑来区分这两个命令。

票数 17
EN

Stack Overflow用户

发布于 2018-06-18 06:45:38

gen

generate可以缩写为gen,甚至可以缩写为g,可以与以下数学运算符和函数一起使用:

  • + addition
  • - subtraction
  • *乘法
  • /除法
  • ^ power

有大量的函数可用。下面是一些示例:

  • abs(x)截断为整数的x
  • int(x) or trunc(x)的x
  • exp(x)逆对数的绝对值x
  • round(x)舍入为x
  • round(x,y) x的最接近的整数的自然对数(即,舍入(x,x
  • runiform()的place)
  • sqrt(x)square根舍入到小数一位返回0到.1之间的均匀分布的数字,1
  • rnormal()返回遵循标准正态分布的数字distribution
  • rnormal(x,y)返回服从均值x和s.d.的正态分布的数字。of y

egen

egen命令中实现了许多更复杂的可能性,如以下示例所示:

  • egen nkids = anycount(pers1 pers2 pers3 pers4 pers5), value(1)
  • egen v323r = rank(v323)
  • egen myindex = rowmean(var15 var17 var18 var20 var23)
  • egen nmiss = rowmiss(x1-x10 var15-var23)
  • egen nmiss = rowtotal(x1-x10 var15-var23)
  • egen incomst = std(income)
  • bysort v3: egen mincome = mean(income)

可以在此link中找到详细的用法说明。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12993607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档