xpose和sxpose,谁是卧底?

本文作者:崔赵雯,中南财经政法大学经济学院
文字编辑:王玉婷
技术总编:余术玲

一、导论

在Stata中进行数据处理时,我们可能会进行数据转置的操作,对数据转置的命令有xpose和sxpose,今天就为大家介绍一下这两个命令之间的区别。往下看吧!

二、xpose命令

对数值型数据 进行转置,我们用的是xpose。它的作用是变量与观测值之间的相互转换。所有由转置过程中创建的新变量,存储类型是默认的,因此,当原始变量是字符串时,在转置后观测值中将包含缺失值。同时,如果将字符串数据转置两次,则会丢失字符串变量的内容。

xpose命令的语法结构如下:

其中[options]选项有:

①clear:这个选项是必须的,它是提醒你转置之后的原始数据将不存在;

②format:将原始数据中的最大数字显示格式应用于转置后的数据中;

③format(%fmt) :按照设定的数字显示格式应用于转置数据中;

④varname:在转置后的数据中保留原始数据的变量名称;

⑤promote:使转置后的数据存储类型为原始数据中精度最高的存储类型,以确保数值的精确度。当运算精度要求很高的时候,需要将变量的存储类型设置成浮点型或双精度型,但是转置后的数据可能会改变数据的存储类型,这时候我们可以[promote]选项,保证转置后的数值精度。如果原始数据中有变量的存储类型是double,那么转置后的所有数值的存储类型都是double。

下面我们对这些选项举几个例子:

** 关于varname选项的小例子:**

clear all
input hhid father mother //创建一个记录家庭成员收入的数据
1 4000 5000
2 6000 2500
3 8000 8000
end //注意input命令要和end命令一起执行
list 

对数据进行转置:

xpose,clear varname
list

如果我们不指定varname选项,变量不会创建_varname,即观测值是原始数据的变量名称。但是,我们想要把第一次转置后的数据再次转置为原始形式,varname选项是要有的。

xpose,clear
list

** 关于format(%fmt)选项的小例子:**

clear all
input id str10 name economy //录入学生学号、姓名和成绩的数据。注意:因为name是字符串类型的数据,因此name前需要加上表示字符串类型的str#,其中#是代表字节长度的数字
1 John 40
2 Chris 80.5
3 Jack 90
4 Tom 53.5
end
list

对数据进行转置,并通过format(%fmt)选项来设定数字显示格式。

xpose,clear varname format(%10.2f)
list

从运行结果可以看出变量v1-v4观测值均保留两位有效数字。同时,从这个例子中,我们也可以看到xpose不能对字符型数据进行转置,转置后的字符型数据显示为缺失值。

关于promote选项的小例子:

clear all
sysuse sp500
keep in 1/5
describe

可以看到数值型变量的数据类型有int、float和double,不难发现,原始数据中最高精度的数据存储类型为double。如果转置时不使用promote选项,转置后的数据存储类型变成了float,这就降低了数据的精确度。

xpose,clear
describe

如果转置时使用promote选项,数据的存储类型都变成了double,确保了转置后数据的精确度。

clear all
sysuse sp500
keep in 1/5
xpose,clear promote
describe

三、sxpose命令

对字符型数据进行转置,我们用的是sxpose,实现变量与观测值之间的相互转换。

sxpose是一个外部命令,初次使用需要安装,安装命令为:

ssc install sxpose

安装成功显示完成信息:

sxpose命令的语法结构如下:

其中,其[中[options]选项有:

①clear:这个选项是必须的,与xpose的clear选项作用相同;

②force:当遇到数值型数据时,继续进行转置,并把数值型数据强制转化为字符型数据;

③format():将设定的格式应用于显示为数值的字符型数据中;

④firstnames:将原始数据的第一列设置为转置后数据的变量名称;

⑤destring:将字符型数据转换为数值型数据。

我们对这些选项举几个例子;

关于force选项的小例子:

clear all
webuse census10,clear //美国人口普查数据
keep in 1/5
sxpose,clear
list

如果没有force选项,系统会报错,这是因为pop和medage为数值型数据,且region为带有数值标签的数据,在sxpose后加上force选项,会将这些数据强制转化为字符型数据。

sxpose,clear force
list

** 关于firstnames选项的小例子:**

clear all
webuse census10,clear //美国人口普查数据
keep in 1/5
list

使用firstnames选项后,原始数据的第一列就不会出现在转置后的观测值中了,原始数据的第一列成为转置后数据的变量名称。

sxpose,clear force firstnames
list

** 关于destring选项的小例子:**

clear all
webuse census10,clear //美国人口普查数据
drop state
keep in 1/5
sxpose,clear force
describe

可以看到,未使用destring选项时,数据类型为字符型,使用destring选项后,数据类型变为了数值型。

clear all
webuse census10,clear //美国人口普查数据
drop state
keep in 1/5
sxpose,clear force destring
describe

以上就是今天的全部内容啦,如果对你有帮助的话,别忘了点个赞呀,加个关注咯,转载、打赏都可以呦~

** 关注Stata and Python数据分析,获取更多干货~ **

本文由博客群发一文多发等运营工具平台 OpenWrite 发布

xpose和sxpose,谁是卧底?相关推荐

  1. 使用Xpose突破安卓App禁止截屏限制

    WindowManager.LayoutParams.FLAG_SECURE标志的app,这里需要注意下支付宝.网上银行类的app不建议拦截,像支付宝里的付款码,商家拿到后,直接就能扣费,不需要用户这 ...

  2. 机器人陪你玩“谁是卧底游戏

    这是用php写的程序,调用的就是图灵机器人提供的免费API来实现的"谁是卧底"游戏,感兴趣的朋友还可以去图灵智能平台上体验下http://www.tuling123.com/ope ...

  3. python谁是卧底游戏流程图_虎牙小程序—谁是卧底 |明星互动游戏

    主播连麦,观众互动每次都是唱歌跳舞聊天,你是否有为直播内容无吸引力而担心? 别担心!最经典的明星互动游戏"谁是卧底"终于来了,主播直播连麦就可以玩! 最重要的是!!!观众也可参与到 ...

  4. php版谁是卧底,机器人陪你玩“谁是卧底quot;游戏

    这是用php写的程序,调用的就是图灵机器人提供的免费API来实现的"谁是卧底"游戏,感兴趣的朋友还可以去图灵智能平台上体验下http://www.tuling123.com/ope ...

  5. xpose修改手机imei码,注入广告

      何为hook  Hook英文翻译过来就是"钩子"的意思,那我们在什么时候使用这个"钩子"呢? 我们知道,在Android操作系统中系统维护着自己的一套事件分 ...

  6. 云开发谁是卧底线下小游戏发牌助手微信小程序源码-亲测可用

    云开发谁是卧底线下小游戏源码,发牌助手微信小程序源码. "谁是卧底OL"是一个非常有趣,风靡全国的比拼语言表述能力.知识面与想象力的游戏. 谁是卧底OL是一款由开发商北游科技倾力打 ...

  7. Autojs 谁是卧底-炸弹猫计牌辅助

    Auto.JS是Android平台上不需要Root权限的JavaScript自动化软件.目前使用Rhino 1.7.7.2作为脚本引擎,支持ES5与部分ES6特性. Auto.JS在开启"无 ...

  8. 谁是卧底服务器维护,问道手游8.9每周探案谁是卧底答案分享_蚕豆网新闻

    问道手游每周都会有一个探案的任务,完成这个每周探案,玩家可以获得大量的奖励,今天是8月9日,今天的每周探案任务是谁是卧底,玩家需要根据给出的线索来猜测答案,并完成这个任务,那么这个任务到底怎么做呢,小 ...

  9. 【小程序】websocket实现“谁是卧底”在线随机发牌

    目录 前言 1. 逻辑分析 2. websocket 3. 小程序端代码实现 4.服务端代码实现 后记 前言 有兴趣的同学先扫码体验一下小程序 继我的个人小程序("你划我猜出题器" ...

最新文章

  1. 交换机应用寻找10个完美的因素
  2. Java IO系列之字节流拷贝文件性能比较
  3. 【白话科普】网站图片不显示,背后的原因你都清楚吗
  4. Spring Cloud Sidecar –节点初始化
  5. 神经网络算法 java 源代码_神经网络算法与实现 ——基于Java语言 代码实例
  6. Nginx负载均衡的详细配置及使用案例详解.
  7. 为什么说算法是程序猿“修仙”的必经之地?
  8. 核能版“水变油”登上Nature!谷歌7000万押注,MIT参与,被评争风加水汽车
  9. 每一个与众不同的水瓶座
  10. 二分法04:猜数字大小
  11. ArcGIS 赋予不同指标权重计算综合结果
  12. 【转】vue中如何实现数据的双向绑定
  13. 【PS功能学习】10:蒙版带你领略台前幕后的故事
  14. Python3 大型网络爬虫实战 003 — scrapy 大型静态图片网站爬虫项目实战 — 实战:爬取 169美女图片网 高清图片
  15. 不管几岁,少女心万岁~女神节快乐!
  16. java计算机毕业设计网络作业提交与批改系统源代码+数据库+系统+lw文档
  17. android linux pthread_cancel,Android NDK缺失pthread_cancel和pthread_setcancelstate
  18. 100个冷笑话 越到后面越冷
  19. 网站新旧版切换,新旧版共存一段时间,域名不变
  20. 从苹果官网细看20年设计变迁史

热门文章

  1. python图形化界面
  2. msvcp140.dll重新安装的解决方法【msvcp140.dll修复工具下载】
  3. 数据库设计文档生成工具类
  4. LiteOS-M内核
  5. [附源码]SSM计算机毕业设计汽车租赁管理系统-JAVA
  6. 什么是Web 3.0 ?
  7. LeetCode 1430. Check If a String Is a Valid Sequence from Root to Leaves Path in a Binary Tree
  8. iphone8投屏电脑 苹果投屏电视的方法
  9. wltp和nedc续航差多少_WLTP续航和NEDC续航差别有多少?
  10. MSDTC on server ‘Tim-GUO-PC’ is unavailable.