第一章接触STATA
小而功能强大;数据存储在内存中,运算速度快;语法简单,结果易读;可编程・cd [direction] /*调整默认目录,当路径中存在空格时要加引号*/ ・set memory [number]/*内存设定,默认单位为KB,可自定MB*/
・exit /*退出*/
第二章STATA命令
[prefix:]command[varlist] [=exp.] [if exp.] [using filename] [in range] [weigh:] [, options] 命令前缀命令变量串表达式条件式使用文件个案范围权重选项・var | var#-var## | var* /*表示单变量、多变量、以var开头的变量*/
・in # | in -# | in #/## /*表示第#个、倒数第#个、从第#到第##个变量*/ ・help commandname/*帮助*/
第三章使用STATA数据文件
一、读取数据
・use filename [, clear] /*读取全部数据,选项clear表示清空内存*/ ・use var1 var#using filename /*将数据部分变量读进内存*/
・use in #/## using filename /*将数据部分个案读进内存*/
・use if var==# using filename /*将数据特定个案读进内存*/
・use filename if var==# /*同上*/
二、数据的标签与注释
・label data “text”/*标签用于对数据整体的说明,这是贴标签的命令*/
・notes:“text”/*注释用于记录操作过程,这是写注释的命令*/
・note /*这是读注释的命令*/
三、数据的显示
・browse [if] /*弹出数据表格窗口,if表达式可以弹出满足条件的
数据表格窗口*/ ・describe /*显示数据的整体信息,如样本量、变量个数、变量列表*/ ・codebook varname#/*显示具体某个变量的编码、格式等*/ ・list varname# [in] /*以列表形式显示指定的若干变量*/ 四、数据存储
・save filename [,replace]
五、数据压缩
・compress/*数据压缩与变取值的存储格式有关,节约内存*/
第四章变量的属性和运算
*变量标签,对变量本身进行说明
・label variable varname “text” /*贴标签*/
*数值标签,说明变量下各取值的含义
・label define labelname # text1 ## text2 [,modify] /*定义数值标签*/
・label value varname labelname /*将数值标签赋予某变量*/
・label list labelname/*显示某数值标签内容*/
・[, nolabel] /*在命令结果中显示原始取值*/
*
*
・rename oldvarname newvarname /*变量重命名*/
・sort [varlist] /*排序(从小到大)*/
・gsort-varname# /*排序(从小到大)*/
・command [varlist] if varname[exp.] /*条件输出*/
・by varname: command [varlist][, sort] /*对某一变量所有取值的条
¶件输出,先进行sort操作,或增加,sort选项*/
・generate newvarname=exp. [if][in] /*生成新变量*/
・replace varname=exp. [if][in] /*替换已有变量的值,一般使
¶用generate进行新变量的生成,但是generate的缺点是其条件表达会导致缺失值生
¶成,因此用replace进行弥补,这两个命令组合使用*/
・recode varname [exp.] nonmising | else [exp.] , generate(newvarname) /*变
¶量重新编码,其中nonmissing是指将其他非缺失值编码为#,else则是将其他所有值
¶编码为#;选项generate可以在不改变原有变量的同时生成编完码的新变量*/
・generate newvarname=autocode(oldvarname,#,min,max)
・generate newvarname=recode(oldvarname,#,…,##)
*连续变量变成非连续变量的五种策略
*其他
Stata中的函数round(x), int(x), uniform(), invnormal(uniform())
egen命令
计算器功能:display normal(#), display invnorm(#), display 1-normal(#)
第五章命令程序(do.文件)
1)注释:/*text*/, 或*text(整行)
2)超长命令的处理
Stata会默认分段符¶为提交命令的标志。
在.do文件的编写过程中,我们如果遇到非分段不可的情况,有两种解决方案:第一,将¶用/**/隔离,这样就只有换行的效果而Stata不会执行命令;第二,改变提交命令的符号。
3)中断分页符
在.do文件中中断分页符,在命令行开始时添加set more off,其反向过程为set more on。
这个命令在窗口提交命令时也适用,在窗口时,还可以直接按Q取消---more---显示
4)记录文件(log)
・log using filename,[smcl|text] /*开始命令记录,并在内存生成文档*/
・log close/*结束命令记录*/
・log off|on /*暂停/重启命令记录*/
5)嵌套
・do /*在.do文件中嵌套其他.do文件*/
第六章数据描述、制表、比较与检验
*列出数据与查看数据
・list varname# [in] ,clean
・codebook varname#
*使用summarize计算描述性统计量
・summarize varname# [,detail]
*使用tabstat计算描述性统计量
・tabstat varname#[,stats(…)]
・tabstat varname[,stats(…)] by (varname’)
・tabstat varname#[,stats(…)] by (varname’)
*计算置信区间
・ci varname#
・cii [count] [mean] [dev] | [count] [p.]
*单变量频次表
・tabulate varname
・table varname
*两变量列联表
・tabulate varname1 varname2[,options]
・tabi # # #\# # #\# # #[,options]
*多个表格与多维表格
・bysort varname: table varname1 varname2[,options] ・table varname1 varname2 varname3
*显示描述性统计量的列联表
・ta varname[,summ(varname’)]
・ta varname1 varname2[,sum(varname’) means]
・table varname1 varname2[,contents(…)]。