xpose和sxpose,谁是卧底?
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,谁是卧底?相关推荐
- 使用Xpose突破安卓App禁止截屏限制
WindowManager.LayoutParams.FLAG_SECURE标志的app,这里需要注意下支付宝.网上银行类的app不建议拦截,像支付宝里的付款码,商家拿到后,直接就能扣费,不需要用户这 ...
- 机器人陪你玩“谁是卧底游戏
这是用php写的程序,调用的就是图灵机器人提供的免费API来实现的"谁是卧底"游戏,感兴趣的朋友还可以去图灵智能平台上体验下http://www.tuling123.com/ope ...
- python谁是卧底游戏流程图_虎牙小程序—谁是卧底 |明星互动游戏
主播连麦,观众互动每次都是唱歌跳舞聊天,你是否有为直播内容无吸引力而担心? 别担心!最经典的明星互动游戏"谁是卧底"终于来了,主播直播连麦就可以玩! 最重要的是!!!观众也可参与到 ...
- php版谁是卧底,机器人陪你玩“谁是卧底quot;游戏
这是用php写的程序,调用的就是图灵机器人提供的免费API来实现的"谁是卧底"游戏,感兴趣的朋友还可以去图灵智能平台上体验下http://www.tuling123.com/ope ...
- xpose修改手机imei码,注入广告
何为hook Hook英文翻译过来就是"钩子"的意思,那我们在什么时候使用这个"钩子"呢? 我们知道,在Android操作系统中系统维护着自己的一套事件分 ...
- 云开发谁是卧底线下小游戏发牌助手微信小程序源码-亲测可用
云开发谁是卧底线下小游戏源码,发牌助手微信小程序源码. "谁是卧底OL"是一个非常有趣,风靡全国的比拼语言表述能力.知识面与想象力的游戏. 谁是卧底OL是一款由开发商北游科技倾力打 ...
- Autojs 谁是卧底-炸弹猫计牌辅助
Auto.JS是Android平台上不需要Root权限的JavaScript自动化软件.目前使用Rhino 1.7.7.2作为脚本引擎,支持ES5与部分ES6特性. Auto.JS在开启"无 ...
- 谁是卧底服务器维护,问道手游8.9每周探案谁是卧底答案分享_蚕豆网新闻
问道手游每周都会有一个探案的任务,完成这个每周探案,玩家可以获得大量的奖励,今天是8月9日,今天的每周探案任务是谁是卧底,玩家需要根据给出的线索来猜测答案,并完成这个任务,那么这个任务到底怎么做呢,小 ...
- 【小程序】websocket实现“谁是卧底”在线随机发牌
目录 前言 1. 逻辑分析 2. websocket 3. 小程序端代码实现 4.服务端代码实现 后记 前言 有兴趣的同学先扫码体验一下小程序 继我的个人小程序("你划我猜出题器" ...
最新文章
- 交换机应用寻找10个完美的因素
- Java IO系列之字节流拷贝文件性能比较
- 【白话科普】网站图片不显示,背后的原因你都清楚吗
- Spring Cloud Sidecar –节点初始化
- 神经网络算法 java 源代码_神经网络算法与实现 ——基于Java语言 代码实例
- Nginx负载均衡的详细配置及使用案例详解.
- 为什么说算法是程序猿“修仙”的必经之地?
- 核能版“水变油”登上Nature!谷歌7000万押注,MIT参与,被评争风加水汽车
- 每一个与众不同的水瓶座
- 二分法04:猜数字大小
- ArcGIS 赋予不同指标权重计算综合结果
- 【转】vue中如何实现数据的双向绑定
- 【PS功能学习】10:蒙版带你领略台前幕后的故事
- Python3 大型网络爬虫实战 003 — scrapy 大型静态图片网站爬虫项目实战 — 实战:爬取 169美女图片网 高清图片
- 不管几岁,少女心万岁~女神节快乐!
- java计算机毕业设计网络作业提交与批改系统源代码+数据库+系统+lw文档
- android linux pthread_cancel,Android NDK缺失pthread_cancel和pthread_setcancelstate
- 100个冷笑话 越到后面越冷
- 网站新旧版切换,新旧版共存一段时间,域名不变
- 从苹果官网细看20年设计变迁史
热门文章
- python图形化界面
- msvcp140.dll重新安装的解决方法【msvcp140.dll修复工具下载】
- 数据库设计文档生成工具类
- LiteOS-M内核
- [附源码]SSM计算机毕业设计汽车租赁管理系统-JAVA
- 什么是Web 3.0 ?
- LeetCode 1430. Check If a String Is a Valid Sequence from Root to Leaves Path in a Binary Tree
- iphone8投屏电脑 苹果投屏电视的方法
- wltp和nedc续航差多少_WLTP续航和NEDC续航差别有多少?
- MSDTC on server ‘Tim-GUO-PC’ is unavailable.