附件:

  • 【附件内容】do文件,随手记(笔记内容)PDF、录屏
  • 【附件下载】链接:https://pan.baidu.com/s/1jIrqOZY3HTjHOAfL6wJCIA?pwd=xpse

本文是教对象Stata系列视频的笔记内容。对应视频与配套代码请见下方链接,笔记内容请见分割线下方。

视频合集

bilibili视频链接

配套代码链接


一、软件介绍

  Stata 版本:IC、BE、SE、MP

  窗口设置:颜色与字体

  窗口:命令窗口、数据浏览/编辑窗口、Do 文件编辑器窗口

1
2
webuse womenwage.dta
webuse lifeexp, clear // 1998年各国预期寿命数据

  Do 文件使用:

1
2
3
4
5
6
** 行备注
// 行内备注
/* 跨行备注: 第1行
第2行 */

命令分行 —— ///

  颜色与含义

  Stata 路径查看:sysdir

二、Stata 命令安装、查询

  命令检索:help、findit

1
2
3
4
5
6
7
8
9
** 查找 Stata 命令
findit ivqreg2
help regress //查看已安装命令regress的使用说明

** 在线安装 Stata 外部命令 ivqreg2
ssc install ivqreg2
ssc install ivqreg2, replace
/* Note: 若未安装,则安装该命令;
若已安装,替换当前已有版本,可用于命令版本更新。 */

  命令安装:help、ssc install、下载后导入

三、日志功能的使用

  查看 Stata 路径:sysdir

  使用 log 命令可以开启 Stata 的日志功能,记录 Stata 运行的命令与结果。使用 cmdlog 命令可以开启 Stata 的命令日志功能,记录 Stata 运行的命令,但不记录命令运行的结果。

日志文件:

1
2
3
4
5
6
7
8
9
10
** 汇报日志状态
log
log query
** 开启记录日志
log using filename [, append replace [text|smcl] name(logname) nomsg]
** 关闭记录日志
log close [logname | _all]
** 暂停/继续记录日志
log off [logname] //暂停记录
log on [logname] //继续记录

命令日志文件:

1
2
3
4
5
6
7
8
9
10
11
12
** 汇报日志文件状态
cmdlog
** 打开日志文件
cmdlog using filename [, append replace]
** 关闭日志文件/暂停日志/继续日志
cmdlog {close|off|on}

** 设置默认日志格式
set logtype {text|smcl} [, permanently]
set logtype {text|smcl} [, perm] //简写
** 设定屏幕宽度
set linesize #

示例:

1
2
3
4
5
6
7
8
9
** 替换日志文件
log using "~/Desktop/log.smcl", replace
** 暂停/继续记录日志
log off //暂停日志
log on //继续日志
** 关闭日志
log close
** 拼接到之前的日志文件上
log using "~/Desktop/log.smcl", append
1
2
3
4
** 指定日志文件格式
log using "~/Desktop/log.smcl", replace s // smcl简写
log using "~/Desktop/log.log", replace t // text简写
log using "~/Desktop/log.txt", replace t // text简写

四、数据打开、保存与删除

1. 数据打开与保存

1
2
3
4
5
6
7
** 定义工作路径
cd "C:/Users/wugan/Desktop/演示/CLHLS-HF/Stata_data"
** 打开数据
use "CLHLS-2014_2018.dta",clear
** 保存数据
save "CLHLS-2014_2018.dta",replace
save "演示数据.dta",replace

2. 删除文件

  使用 eraserm 命令可以删除文件,需要指定路径和准确的文件名。如果路径和文件名中没有空格,可以删除引号。

  使用 eraserm 命令时,引号内需要注明:

  • 路径信息:绝对路径 / 相对路径
  • 文件名
  • 文件格式
1
2
erase "~/Desktop/newdata.dta"
rm "~/Desktop/newdata.dta"

  示例:

1
rm "演示数据.dta"

五、数据导入与导出

1. 数据导入

  导入Excel数据:

1
2
3
4
5
6
7
8
9
** 基础语法
import excel [using] filename [, options]
/* Options: 1) sheet 指定导入的工作表
2) firstrow 将第一行作为变量名
3) case 指定导入后变量名大小写
4) clear 清除内存, 替换内存中的数据
5) allstring 将所有变量以字符型数据导入 */
** 示例
import excel "数据导入表.xlsx", sheet("Sheet1") firstrow clear

  导入其他数据:

1
2
3
4
** 导入逗号分隔符数据——CSV
import delimited "逗号分隔符数据.csv", clear
** 导入SPSS数据
import spss "SPSSdata.sav", clear

  导入 Excel 与 CSV 数据注意事项:

  1. 表头设置为一行

  2. 变量名命名规范:

    • 变量名不能重复
    • 不能以数字/符号开头,必须以英文字母或汉字开头
    • 不能有中文符号,可以有汉字
    • 无特殊英文字符,例如小数点、减号、乘号、空格,一般可以有【_】

2. 数据导出

  基础语法:

1
2
3
4
5
6
export excel [using] filename [if] [in] [, options]
/* Options: 1) sheet("Sheet1",modify|replace) 指定导出的工作表名称
2) firstrow(variables|varlabels) 变量名或变量标签作为excel表的第一行,简写作first(var|varl)
3) nolabel 导出变量数值而非变量值标签
4) replace 替换excel文件
5) missing("repval") 将缺失值替换为 repval */

  示例:

1
2
3
4
** 导出数据到Excel
export excel using "数据表.xlsx", sheet("Sheet1") firstrow(varlabels) replace //替换Excel文件
export excel using "数据表.xlsx", sheet("Sheet1",replace) firstrow(varlabels) //替换Sheet表格,firstrow(varlabels) 将变量标签作为表头
export excel using "数据表.xlsx", sheet("Sheet1",modify ) firstrow(variables) //替换Sheet表格中的指定列,firstrow(variables) 将变量名作为表头