Stata操作小技巧:如何“完美地”复制一个变量?
2023/6/25 8:51:09 阅读:64 发布者:
我们在复制某个变量时候,通常用到的一个命令就是“generare”/“gen”,这个命令的好处在于比较方便的生成新变量。但缺点在于会丢失部分目标变量的信息。举例如下:
sysuse auto,clear
keep price
gen new_var=price
sum price new_var
codebook price new_var
可以看到,在相关的描述性指标中,新变量和price没有任何区别。但在变量标签上,生成的新变量没有label,如图:
当然,我们很多时候还是要图个便利的,所以为懒人开发的命令也会应运而生。这里有个比较好用的命令clonevar,也就是复制变量的意思。
承接上面的命令,我们再用clonevar命令试一试。
clonevar new_var2=price
看效果:
这样,就出现了变量标签。
我们可能立刻就有一个疑问:这个命令这么简单,何必兜这么大圈子~~
所以,还有一些隐秘的技能藏在这个命令背后。
因为举例子的是一个连续变量,连续变量是没有分类变量的类别和类别标签的,如果需要复制类别和类别标签。这个命令就显得非常有必要。
还以这个变量为例,我们继续操作,将price变成一个分类变量。在这里,我们(其实也没有“们”,只有我。。)的策略是利用分位数方法将price分为三分类的变量,然后跟据“高”“中”“低”的分类分别作标记。
xtile p_group=price, nq(3)
label var p_group "price"
label define v 1"低" 2"中" 3"高"
label value p_group v
tab p_group
得到:
除去标签(nolabel):tab p_group, nol
素材已经做好,下一步,我们生成克隆变量~
clonevar new_3=p_group
tab new_3
tab new_3, nol
对比一下相应的generate命令,我们就可以发现,generate并不能把值标签复制过来,还需要自己挨个去设定。
好的,今天的介绍暂时到这里~
转自:“量化研究方法”微信公众号
如有侵权,请联系本站删除!