查看原文
其他

批量处理变量名和标签的小方法

爬虫俱乐部 Stata and Python数据分析 2022-03-15

本文作者:王   彤,中南财经政法大学统计与数学学院

本文编辑:陈丹慧

技术总编:余术玲

爬虫俱乐部云端课程

  爬虫俱乐部于2020年暑期在线上举办的Stata与Python编程技术训练营和Stata数据分析法律与制度专题训练营已经圆满结束啦~应广大学员需求,我们的课程现已在腾讯课堂全面上线,且继续提供答疑服务。现在关注公众号并在朋友圈转发推文《来腾讯课堂学Stata和Python啦》或《8月Stata数据分析法律与制度专场来啦!》,即可获得600元课程优惠券,集赞50个再领200元课程优惠券!(截图发至本公众号后台领取)原价2400元的课程,现在只要1600元!
导读
我们在将数据库或本地的数据导入Stata时,可能需要重命名变量名,给变量插入标签以让数据使用者快速了解数据结构与用途。在之前的文章中,我们学过用rename命令和label命令分别处理变量名和标签。这篇文章我们介绍一个批量处理变量名和标签的小方法:nrow命令和labone命令。
labone命令

(1)命令介绍

labone命令可以将数据第一行或前面某几行作为变量的标签,并删除或保留这几行数据。

(2)事先准备

labone命令为外部命令,需要事先安装。命令为: ssc install labone,replace

(3)命令语法

labone [varlist] [,options]

(4)命令注释

varlist指定制作标签的变量,如果未指定,默认为全部变量
option选项描述
nrow(numlist)指定使用哪一行的内容标记变量 ;如果未指定,则默认使用第一行
concat(concat_strings)如果使用多行的内容标记变量,通过指定的字符串连接来自不同行的内容;默认是由空格连接
nospace在使用不同行的内容作为标签时,中间不用空格连接

(5)举例说明

首先使用import excel命令导入数据,加firstrow后指定数据的第一行为变量名。添加case选项,结合选项firstrow,可以对第一行的英文变量名进行大小写转换。(ps:数据文件可以通过公众号后台回复TRD_Dalyr.xls来获取哦~)
import excel using TRD_Dalyr.xls,firstrow case(lower) clear
导入的数据格式如下:

(5.1)如果要把第一行的内容作为变量的标签,命令如下:

labone,nrow(1)
运行结果如下:

(5.2)如果要把第一、二行对应内容作为前三个变量的标签,命令如下:

labone stkcd trddt opnprc,nrow(1,2)
运行结果如下:

(5.3)如果要把第一、二、四行内容作为对应全部变量的标签,并且内容之间连接时分别用/和:隔开,命令如下:

labone,nrow(1 2 4) concat(/ :)
运行结果如下:

(5.4)如果要把第一到四行的内容作为对应前三个变量的标签,并且标签间不用空格隔开,命令如下:

labone stkcd trddt opnprc,nrow(1/4) nospace
运行结果如下:

nrow命令

(1)命令介绍

nrow命令可以将变量重命名为数据的第n行值,它的作用有点类似于使用import excel导入数据时使用的firstrow命令,不过不是在导入时使用,而且可以指定用于重命名变量的行数以及只是重命名某几个变量。如果特定变量的第n行的值不是有效的Stata名称,则该命令将使用strtoname函数自动对其进行转换。

(2)事先准备

nrow命令为外部命令,需要事先安装。命令为: ssc install nrow,replace

(3)命令语法

nrow [row#] [, keep varlist(varlist)]

(4)命令注释

可选参数描述
可选参数row#选择任意不大于数据总行数N的正整数,作为用于重命名变量的行
可选参数keepnrow默认是将第n行数据作为变量名,并删除这一行数据,使用keep命令可以保留这些行

(5)举例说明

首先还是使用import excel命令导入数据,这里我们不加入firstrow选项。
import excel using TRD_Dalyr.xls,case(lower) clear
导入数据格式如下:

(5.1)如果重命名变量为第一行数据的值,命令如下:

nrow
运行结果如下:

(5.2)如果要重命名变量为第四行数据的值,并删除前四行数据,命令如下:

nrow 4
运行结果如下:

(5.3)如果要重命名变量为第一行数据的值,并保留第一行数据,命令如下:

nrow,keep
运行结果如下:

(5.4)如果要将第一行的对应内容作为变量A-C的名称,并保留原来第一行,命令如下:

nrow,varlist(A-C) keep
运行结果如下:

今天的内容就是这些了。这两个小命令在实际操作中是非常实用的,感兴趣的小伙伴一起动手试试吧~~




对我们的推文累计打赏超过1000元,我们即可给您开具发票,发票类别为“咨询费”。用心做事,不负您的支持!
往期推文推荐

计算工作日的小能手——workdays

Seminar | 企业错报与银行贷款合同

Seminar | 共同基金行业的性别歧视
Seminar | 来自女儿的塑造:高管、女性社会化与企业社会责任

小贴士:Markdown的基本语法

听说相貌也能量化 | 调用百度人脸检测API实现颜值打分

列出指定属性的变量|findname命令比ds命令

新一代的标签转码小能手
【爬虫实战】亚马逊网站Top100畅销书爬取

Json文件好帮手——JsonPath

数据转置pro之sxpose2
文件"搬家"小助手:mvfiles

pyecharts绘图——河流图展示

你知道MDPI期刊的热门题目吗?

文件合并你不行,mergemany来帮宁
分组进行描述性统计的小技巧 --astx命令介绍
新年快乐|爬虫俱乐部2020年度总结

不能忘却的记忆| B站弹幕爬虫

Python中实现Excel的重复值提取
fileexists:告诉你“我”存在吗?

工作中一切困难的解决途径——motivatedolly

【爬虫实战】喜茶的门店都开在了哪里?

关于我们


微信公众号“Stata and Python数据分析”分享实用的stata、python等软件的数据处理知识,欢迎转载、打赏。我们是由李春涛教授领导下的研究生及本科生组成的大数据处理和分析团队。

此外,欢迎大家踊跃投稿,介绍一些关于stata和python的数据处理和分析技巧。
投稿邮箱:statatraining@163.com
投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到有关数据处理、分析等问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存