当我们处理数据的时候,希望将标签名替换对应的变量名,遇到这种问题应该怎样处理呢?我们先生成一组数据:
clear
set more off
set obs 10
gen v = uniform()
label var v 随机数
如果我们希望将变量v的标签名“随机数”作为其变量名,可以使用宏扩展函数
local labelv : var label v
rename v `labelv'
这样我们就将“随机数”作为之前变量v的变量名。问题来了,当我们有一组变量的时候,怎样批量将标签名替换对应的已有的变量名?固然可以用批量转换,但有没有什么简洁的方法呢?
下边介绍一个命令:renvarlab。这个命令可以重命名变量,并根据变量标签来创建新的变量名,这是一个外部命令,需要安装ssc install renvarlab。
批量转换的语句为renvarlab [varlist] , label [display test]。在renvarlab后加需要替换的变量名,后跟label。如果需要显示转换的情况需要在label后加display test。
我们再来生成一组变量
clear
set more off
set obs 10
gen v = uniform()
label var v 随机数
gen v1 = uniform()
label var v1 随机数1
gen v2 = uniform()
label var v2 随机数2
gen v3 = uniform()
label var v3 随机数3
我们希望将label批量替换对应变量名
renvarlab v-v3,label
如果需要展示转换的情况在label后边直接加d即可
如果当我们希望批量更改一部分变量名的时候,可以将局部的变量名列出,例如我们再随机生成一组数据
我们希望将变量v sjs uniform temp变量名更改为对应的标签名,可以先排序之后再重命名
order v sjs uniform temp
renvarlab v-temp ,label
我们可以看到部分变量也是能够更改。值得注意的是:
(1)当变量名中的标签有空格的时候,我们在转换为变量名,标签中的空格转换到变量名中就会变为下划线"_"
(2)当标签为中文名的时候,只能在stata14版本进行,如果在stata13以及之前的版本会报错。但如果标签是英文,renvarlab命令仍然可以使用。
以上就是今天给大家分享的内容了,说得好就赏个铜板呗!有钱的捧个钱场,有人的捧个人场~。
应广大粉丝要求,爬虫俱乐部的推文公众号打赏功能可以开发票啦,累计打赏超过1000元我们即可给您开具发票,发票类别为“咨询费”。用心做事,只为做您更贴心的小爬虫。第一批发票已经寄到各位小主的手中,大家快来给小爬虫打赏呀~
文字编辑:高娜娜
技术总编:刘贝贝
往期推文推荐:
7.一言不合就用stata写邮件(Outlook/Foxmail)
9.I have a Stata, I have a python
10.I have a Stata, I have a Python之二——pdf转word
关于我们
微信公众号“爬虫俱乐部”分享实用的stata命令,欢迎转载、打赏。爬虫俱乐部是由李春涛教授领导下的研究生及本科生组成的大数据分析和数据挖掘团队。
此外,欢迎大家踊跃投稿,介绍一些关于stata的数据处理和分析技巧。
投稿邮箱:statatraining@163.com
投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿”+“推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到关于stata分析数据的问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。
欢迎关注爬虫俱乐部
微信扫一扫
关注该公众号