查看原文
其他

数据转置pro之sxpose2

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

本文作者:崔赵雯,中南财经政法大学金融学院

本文编辑:陈丹慧

技术总编:余术玲

爬虫俱乐部云端课程

  爬虫俱乐部于2020年暑期在线上举办的Stata与Python编程技术训练营和Stata数据分析法律与制度专题训练营已经圆满结束啦~应广大学员需求,我们的课程现已在腾讯课堂全面上线,且继续提供答疑服务。现在关注公众号并在朋友圈转发推文《来腾讯课堂学Stata和Python啦》或《8月Stata数据分析法律与制度专场来啦!》,即可获得600元课程优惠券,集赞50个再领200元课程优惠券!(截图发至本公众号后台领取)原价2400元的课程,现在只要1600元
给各位小主请安啦~许久未见,我想死你们了~

导读
在之前的推文《xpose和sxpose,谁是卧底》中,我们为大家介绍了在Stata数据转置界中的两大“巨星”,今天就再为大家介绍一个它们的升级版命令——sxpose2,让我们一起来揭开它神秘的面纱吧~
1.语法及简单应用
作为数据转置的pro版本,sxpose2可谓是独当一面。简单的说,它与xpose和sxpose的不同之处在于它不仅可以对字符型数据和数值型数据进行转置,还增加了保留变量名称和变量标签的选项。
sxpose2是一个外部命令,初次使用需要安装,安装命令为:
ssc install sxpose2
安装完成后将显示完成信息:

sxpose2命令的语法结构如下:
sxpose2,clear[options]
选项描述
clear这个选项是必须的,它是提醒你转置之后的原始数据将不存在
destring将字符型数据转换为数值型数据
firstnames将现有数据集的第一个变量视为转置后数据集的新变量名
force如果数据集中包含数值型变量,需要force选项将数值型变量转换成字符型变量
format(%fmt)按照设定的数字显示格式应用于转置数据中
varlabel在转置后的数据中保留原始数据的变量标签
varname在转置后的数据中保留原始数据的变量名称
下面我们对这些选项举一些小例子。

①关于varlabel选项的小例子:
clear allinput str1 id str1 var1 str1 var2"a" "d" "g""b" "e" "h""c" "f" "i"endlabel var var1 "VAR-1" //给变量var1赋予标签VAR-1label var var2 "VAR-2" //给变量var2赋予标签VAR-2sxpose2, clear firstnames varlabellist
结果如下:

可以看到,加上varlabel选项,转置后的数据中就保留了原始数据的变量标签。
②关于varname的小例子:
clear allinput id str10 name gender math1 Jack 1 762 Tom 0 363 Phillip 1 96endlabel define lgender 0 "男" 1 "女" //给同一变量的不同观测值赋标签label values gender lgendersxpose2,clear force varnamelist
结果如下:

可以看到,通过使用varname选项,使得转置后的数据中保留了原始数据的变量名称。
2.具体实例
通过上述对sxpose2命令选项的介绍,想必大家对sxpose2已经有了初步的了解。下面我们将以长江电力2015年-2019年的一些财务指标为例,举一个sxpose2的简单应用。

Excel中数据的形式如图所示,我们可以运用sxpose2命令对数据进行转置,得到我们想要的格式。
clear allcap mkdir D:/sxpose2cd D:/sxpose2import excel 长江电力财务指标.xlsx //导入excel表格sxpose2,clear force firstnames destring list
结果如下:

由于数据中既有字符型数据又有数值型数据,我们可以用数据转置的pro版本——sxpose2命令。同时由于转置的数据中包含数值型的数据,因此需要用force选项将数值型数据强制转化为字符型数据;firstnames选项可以将原始数据集中的第一个变量视为转置后新数据集的变量名;destring选项将force选项转换后的字符型数据再转换成数值型数据。
那么用xpose命令得到的结果会是什么样呢?
clear allimport excel 长江电力财务指标.xlsxxpose,clear
结果如下:

可以看到,转置后第一行数据为缺失值,这是因为xpose只能对数值型数据进行转置。
那么使用sxpose命令又会得到什么样的结果呢?
clear allimport excel 长江电力财务指标.xlsxsxpose,clear force firstnames destring
结果如下:

可以看到,它与sxpose2运行的结果一致,这是因为sxpose的force选项可以把数值型数据强制转化为字符型数据,虽然sxpose是对字符型数据进行转置,但可以通过force选项实现对数值型数据的转置。

①sxpose2和xpose的区别在于:xpose只能对数值型数据进行转置,sxpose2可以对字符型数据和数值型数据进行转置;同时,sxpose2在xpose基础上增加了保留变量标签的选项。
②sxpose2和sxpose的区别在于:sxpose2在sxpose的基础上加入了保留变量名称和变量标签的选项。
以上就是今天的全部内容啦,你对sxpose2这个命令了解了吗?如果对你有帮助的话,别忘了点个赞呀,加个关注咯,转载、打赏都可以呦~





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

文件"搬家"小助手:mvfiles

pyecharts绘图——河流图展示

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

文件合并你不行,mergemany来帮宁

         分组进行描述性统计的小技巧 --astx命令介绍

新年快乐|爬虫俱乐部2020年度总结

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

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

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

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

import delimited | 再也不用担心读入网页源代码“乱七芭蕉”了

如何简洁地列出指定属性的变量?ds命令来了!

如何在Python中进行描述性统计分析?

分析师和他们的雇主重视与管理层接触吗?——分析师参与盈余电话会议的研究

繁忙的董事与公司业绩:来自并购的证据
使用Python接口读取CSMAR数据
列表生成式|让你的代码简洁又美观
Stata中变量观测值的亲密伙伴——levelsof命令

爬虫俱乐部开发的命令更新及常见问题说明

关于我们


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

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

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

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