利用STATA直接读取SPSS文件包含标签
(2017-11-08 12:54:57)SPSS是非常流行的数据分析软件,用户群体非常广泛,所以很有可能拿到的数据是SPSS格式的(.sav)。Stata无法直接读取或导入SPSS格式的数据,但鉴于Stata的开放性,全球各地的Stata用户都在发挥自己的聪明才智,扩展Stata的功能。
来自德国汉堡刑事科学研究所的Dirk
Enzmann用户开发出了可将Stata数据转化为SPSS格式数据的非官方命令:dta2sav。此外outdat也可以将数据Stata格式导出为SPSS格式。
安装非官方命令的Stata命令如下:
. ssc install dta2sav
扩展缺失值会被编码为数值,导出后会生成两个文件:数据文件.dts和程序文件.sps。用过EpiData Entry的用户应该比较熟悉,EpiData Entry导出为SPSS格式后也生成两个类似的文件。具体命令如下:
. dta2sav,name(d:/lian/lian)
可以选择导出变量,也支持if和in选项。如:
. dta2sav in 1/5,name(d:/lian/lian) . dta2sav make price in 1/5,name(d:/lian/lian) . dta2sav make price if foreign==0,name(d:/lian/lian)
世界银行的用户Sergiy Radyakin专门编写了可用Stata直接读取SPSS格式数据的非官方命令:usespss。
安装非官方命令的Stata命令如下:
. ssc install usespss
usespss命令支持Stata 8及以后的版本读取压缩过的和未压缩过的SPSS数据集,保留了变量标签及值标签、长用户名、扩展缺失值,并优化了变量的类型。usespss命令的使用方法如下:
. usespss lian.sav
需要注意的是,Stata变量名不支持中文,如果SPSS中存在中文变量名,在用usespss命令导入的时候该变量名在Stata里会变成乱码,且无法在Stata中对该变量进行任何进行操作。如果是用Stat/Transfer将SPSS格式转换为Stata格式再打开,虽然变量名仍是中文,但Stata还是无法对其进行任何操作。