stata如何创建对数变量

诺坎普王子 2个月前 已收到1个回答 举报

女醜無敵 2星

共回答了210个问题采纳率:93.2% 评论

stata创建对数变量可以通过nN的应用创建对数变量,使之随着变量的顺序变化。

定义:Stata中_n是样本的序号(变量),_N是样本数(单值)。

_n永远存在,但不能被list命令显示。

_n会随着变量的排序而变化

下面举例说明

sysuse nlsw88.dta,clear list age wage in 1/10 list _n //错误 sort hours //hours变量升序 gen nid_1 = _n list nid_1 hours race in 1/10 sort wage //对wage变量进行排序 gen nid_2 = _n list hours wage nid_1 nid_2 in 1/10 1234567891012345678910

dis _N //N是一个单值 scalar obs = _N qui sum wage //得到wage变量的均值 dis r(mean)*_N dis r(mean)*obs 1234512345

_n与_N的应用

1.生成最大值、与最大值的差值、极差

sysuse sp500, clear sort open sum open dis r(max) //生成最大值(单值) gen o_max = open[_N] //生成最大值 gen o_diff = open[_n] - open[_N] //与最大值的差 gen o_range = open[_N] - open[1] //极差 list open o_max o_diff o_range in 1/10 1234567812345678

2.差分与对数差分

sysuse sp500,clear sort date gen d_open = open[_n] - open[_n-1] //生成open的一阶差分变量 gen ln_open = log(open) gen d_lnopen = ln_open[_n] - ln_open[_n-1] //生成对数差分变量 gen dln_open = ln(open[_n]) - ln(open[_n-1]) //等价上述命令 * 事实上,在经济学中,对数差分可视为增长率 list open d_lnopen in 1/10 123456789123456789

3.移动平均

gen mv3 = (open[_n-1] + open[_n] + open[_n+1] )/3 * 三阶移动平均 list open mv3 in 1/10 123123

4.时间算子法

* 上述问题也可通过时间算子进行运算 tsset date gen open_l = L.open //一阶滞后 gen open_l2 = L2.open //二阶滞后 gen f_open = F.open //前推一项 gen open_d = D.open //一阶差分 gen open_d2 = D2.open //二阶差分 *计算增长率 gen r1 = D.close/L.close //方法1 gen lnclose = ln(close) gen r2 = D.lnclose //方法2 list date r1 r2 in 1/10。

12小时前

6
可能相似的问题

猜你喜欢的问题

热门问题推荐

Copyright © 2024 微短问答 All rights reserved. 粤ICP备2021119249号 站务邮箱 service@wdace.com