stata命令详解

您所在的位置:网站首页 stata中do文件怎么保存 stata命令详解

stata命令详解

2024-07-17 14:08| 来源: 网络整理| 查看: 265

1. 前言

在目前工作中,用stata清洗及分析数据,感觉很顺滑。无奈不少同学因为help文件里的英文望而却步。 带着学习和分享的目的,根据工作经验,给大家整理一些常用以及不太常用但很有用的命令,并对该命令的help文件进行有侧重的详解。

2. 命令及获取

import(export) excel:导入(导出)excel文件,系统自带命令

3. 描述 import excel: 导入excel数据至stata软件。 import excel filename, describe :显示excel文件中每个sheets(工作表)的数据范围。 export excel:将数据保存为excel文件。 上述三个命令可运用于.xls和.xlsx文件。 import excel和export excel 在windows,mac和linux系统上均支持。 如果导入和导出的filename没有加扩展名,则默认为.xls. 例如,import excel auto先检索导入auto.xls,再检索导入auto.xlsx。 import excel限制导入的.xlsx文件大小,不超过40M,如果文件太长,导入时间会较长。 4. 语法 *导入excel文件 import excel [using] filename [, import_excel_options] *导入excel文件中的部分变量(字段) import excel extvarlist using filename [, import_excel_options] *描述excel文件中每个sheets(工作表)的数据范围 import excel [using] filename, describe *导出数据为excel文件 export excel [using] filename [if] [in] [, export_excel_options] *保存部分变量(字段)的数据为excel文件 export excel [varlist] using filename [if] [in] [, export_excel_options] [,]:中括号里的为额外选项命令,按需求添加,而添加选项记得加英文逗号, filename(文件名):如果语法中只有文件名,则默认文件格式为.dta;如果文件名中有空格,记得用双引号""将该目录名字括起来。 5. 选项 import_excel_options 的选项: sheet("sheetname"):添加该选项,导入特定的工作表,工作表名称为sheetname。不添加该选项,默认导入第一个工作表。最短可缩写成sh("sheetname")。 cellrange([start][:end]):添加该选项,指定导入工作表中的数据范围,例如,cellrange(A1:C23)。最短可缩写成cellra([start][:end])。 firstrow:添加该选项,指定excel数据中的第一行为变量名。①本选项不能在import excel extvarlist using filename中使用。②若通过cellrange([start][:end])指定了导入数据的范围,则加firstrow后指定数据范围的第一行为变量名。③import excel会将第一行转为stata有效的变量名(如以A,B,C等命名),原数据内容则变为变量标签。最短可缩写成first。 case(preserve|lower|upper):添加该选项,结合选项firstrow,可以对第一行的英文变量名进行大小写转换。不添加该选项,则默认保持原样。例如,excel中的字段名为Ab,添加选项case(preserve)后,stata中变量名为Ab,最短可缩写成case(pre);添加选项case(lower)后,stata中变量名为ab,最短可缩写成case(l);添加选项case(upper)后,stata中变量名为AB,最短可缩写成case(u)。 allstring:添加该选项,强制导入的excel文件中的所有数据都转为字符串型数据。最短可缩写成all。 clear:添加该选项,使得在导入excel文件前清除现在内存中的数据。 local(“locale”):结合命令import excel使用,但不显示在对话框中。添加该选项,指定工作簿使用的语言环境。 可能会在使用扩展的ASCII字符集时需要此选项。此选项对Microsoft Windows无效。 默认语言环境是UTF-8。 export_excel_options的选项: 主要选项: sheet(“sheetname”):添加该选项,保存excel数据至指定工作表,工作表名称为sheetname。如果名为sheetname的工作表不存在,则新建名为sheetname的工作表。如果不添加该选项,则默认保存至excel文件中的第1个工作表。最短可缩写成sh("sheetname")。 cell(start):添加该选项,指定保存的数据开始的位置。若不添加该选项,则默认从第一行第一列开始存数据。 sheetmodify:添加该选项,导出数据至excel时,数据范围外的单元格内容不改变。本选项不能和sheetreplace或者replace结合使用。最短可缩写成sheetmod。 sheetreplace:添加该选项,在导出数据至excel前,将excel的工作表中的内容清除。本选项不能和sheetmodify或者replace结合使用。最短可缩写成sheetrep。 firstrow(variables|varlables):添加firstrow(variables)选项,指定导出excel数据的第一行为变量名,最短可缩写成firstrow(var)。;添加firstrow(varlables)选项,指定导出excel数据的第一行为变量标签,最短可缩写成firstrow(varl)。 nolabel:添加该选项,导出excel数据时,数值型数据以数值展示,而不是值标签展示。最短可缩写成nol。 replace:添加该选项,替换现有的excel文件。本选项不能和sheetmodify或者sheetreplace结合使用。 高级选项: datestring("datetime_format"):添加该选项,导出所有日期时间型变量时,以日期时间格式的字符串形式展现。最短可缩写成date。 missing("repval"):添加改选项,导出excel数据时,将缺失值以 repval 展示,repval自定义,可以是数值也可以是字符串。最短可缩写成miss。 local(“locale”):结合命令export excel使用,但不显示在对话框中。添加该选项,指定工作簿使用的语言环境。 可能会在使用扩展的ASCII字符集时需要此选项。此选项对Microsoft Windows无效。 默认语言环境是UTF-8。 6. 举例 *调入数据auto.dta webuse auto 调入数据.png *导出数据为auto.xls,将变量名作为第一行的字段名 export excel auto, firstrow(variables) 导出数据.png *导入auto.xls文件数据,同时清除现有内存数据,将第一行作为变量名 import excel auto.xls, firstrow clear *查看数据情况 describe 导入数据.png *导入auto.xls文件数据,同时清除现有内存数据,将第一行作为变量名,而且导入数据范围为A1:D70,即导入前4列数据 import excel auto.xls, cellrange(:D70) firstrow clear *查看数据情况 describe 导入部分数据.png *调入数据auto.dta webuse auto, clear *导出数据为auto.xls,不包括变量名 export excel auto.xlsx 导出.xlsx数据.png *导出指定变量数据至auto.xls,并替换现有auto.xls数据 export excel make mpg weight using auto, replace 导出指定变量数据.png 7. 菜单

*导入excel

File > Import > Excel spreadsheet (.xls;.xlsx)

*导出excel

File > Export > Data to Excel spreadsheet (.xls;.xlsx)

8. 存储的结果

import excel filename, describe存储如下结果:

r(N_worksheet):excel文件中的工作表的数量 r(worksheet_#):excel文件中第#个工作表的名字 r(range_#):excel文件中第#个工作表的数据范围 9. 补充 导入和导出文件可考虑第一次通过点击菜单实现,保存好语法,之后再用就可以直接修改了。 实例: 批量导出数据 *按照yxmc(院校名称)字段情况,导出不同院校的数据 *将变量yxmc的值存至暂元level中 levelsof yxmc,local(level) *循环level中的值 foreach x of local level { *preserve和restore之间的操作可恢复 preserve *保留yxmc为level中的值的数据 keep if yxmc=="`x'" *导出excel数据至D:\excel\分院校-`x'.xlsx,其中,`x'为level中的值,并且将变量标签作为第一行字段名,数值型数据以数值展示,而不是值标签。 export excel using D:\excel\分院校-`x'.xlsx, firstrow(varlabels) nolabel restore } 一次性导入多个Excel *将目标文件夹设定为工作路劲 cd D:\excel *用暂元files提取所有后缀为xlsx的文件名 local files: dir "." file "*.xlsx" *循环files,按原文件名保存成dta文件 foreach file in `files'{ import excel using "`file'", firstrow case(lower) clear save "`file'.dta",replace }


【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3