1. 前言
在目前工作中,用stata清洗及分析数据,感觉很顺滑。无奈不少同学因为help文件里的英文望而却步。
带着学习和分享的目的,根据工作经验,给大家整理一些常用以及不太常用但很有用的命令,并对该命令的help文件进行有侧重的详解。
2. 命令及获取
xpose
:将数据集进行转置,系统自带命令
3. 描述
xpose
对数据进行转置,即将变量变成观测值,将观测值变成变量。由观测值转变来的变量被设为默认存储类型。因此,原来是字符串变量将会导致转变后观测值缺失。(如果转置两次,原来的字符串变量的内容将会丢失)
4. 语法
xpose, clear [options]
5. 选项
clear:必写项。选项表明转置前的数据若没有保存,则将会丢失。
format:缩写u。使用转置前数据的最大数字格式。
format(%fmt):缩写u(%fmt)**。对转置后的数据使用指定的格式。
varname:缩写u。添加该选项,则转置后的数据中将增加一个新的变量_varname ,该变量中包含转置前数据的变量名的信息。如果转置前存在变量_varname,则该变量中的内容将作为转置后的数据的变量名。因此,转置两次后,大致可以还原原始的数据。
promote:缩写prom。转置后使用最紧凑的数据类型来保持数值的准确性。例如,数据类型字节长度:double>float>long,如果转置前有long数据类型,没有double和float,则转置后数据类型为long。
6. 举例
*调用系统数据auto
sysuse auto,clear
*显示数据情况
describe
*浏览数据
browse


*进行数据转置
xpose,clear
*显示数据情况
describe
*浏览数据
browse
注意:数据类型统一变成了%9.0g

注意:第一个变量原本是字符串变量,转置后变成了缺失。

*调用系统数据auto
sysuse auto,clear
*进行数据转置,指定数据格式类型
xpose,clear format(%6.2f)
*显示数据情况
describe
*浏览数据
browse
注意:数据类型统一变成了%6.2f


*调用系统数据auto
sysuse auto,clear
*进行数据转置,将原始变量名存储在变量_varname中
xpose,clear varname
*显示数据情况
describe
*浏览数据
browse


*再次转置
xpose,clear varname
*显示数据情况
describe
*浏览数据
browse


7. 菜单
Data > Create or change data > Other variable-transformation commands > Interchange observations and variables
数据>创建或修改数据>其他变量转换命令>数据转置……
8. 存储的结果
无
9. 补充
- 注意:原始数据中有字符串的话,转置后会丢失。
- 如果要转置纯字符串数据,可以使用
sxpose
,需要通过ssc install
进行安装。 - 如果要转置既有字符串又有数字的数据,可以使用
sxpose2
,需要通过ssc install
进行安装。 - 可以省去用excel手动转置的辛苦了。
网友评论