Stata连享会 主页 || 视频 || 推文 || 知乎 || Bilibili 站
温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。
New!
lianxh
命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc
,ihelp
,rdbalance
,gitee
,installpkg
⛳ Stata 系列推文:
作者:唐林 (苏州大学)
邮箱:tlwork77@163.com
目录
clear
命令用于清除 Stata 内存中的数据。该命令功能强大,应用广泛,基本可清除 Stata 内所有数据。
clear
clear [meta|results|matrix|programs|ado|rngstream|frames|collect]
clear [all|*]
其中,clear
表示清除 Stata 内存中的数据集合和数据标签。clear all
和 clear *
表示对 Stata 内存中的任何使用痕迹全部清除,两者效果一致。此外,常用的 clear results
表示清除 Stata 中的回归结果,clear ado
表示清除自动加载的 ado 编辑器。
为更清晰的了解 clear
命令的运行。接下来将首先介绍 Stata 的工作机制,以此为基础来详细地解释 clear
、drop
和 discard
命令。
一般而言,在 Stata 中输入 use
命令,可以实现复制硬盘中所储存的数据至 Stata 的内存中。在这块内存中, Stata 会自动细分不同的板块以此单独储存 Data 、Matrix 、Frames 和返回值等等内容。
在这种情况下,clear
命令的使用可以分为以下两种情况:
第一种情况:clear 房间类型
。如前所述,启动 Stata 时,电脑会分配给 Stata 一块内存空间 (一座大房子)。Stata 会把大房子分成若干个小房间,分类存储 Data、Matrix、返回值、程序等对象。好处是易于分类管理与调取,可以清除指定内容,进而释放内存。若想清空某个小房间,可以使用 clear 房间类型
命令,常用的如下:
clear
:清空内存中的数据 (分配给 Stata 的内存中的 Data 那一块空间);clear matrix
:清空内存中的矩阵对象;clear results
:清空内存中的返回值,如 r(mean)
、r(N)
、e(r2)
等;clear ado
:清除内存中的 ado 文档;clear all
:清空分配给 Stata 的 所有内存空间。第二种情况:use "D:/myData/auto.dta", clear
。clear
选项虽然放在命令的末尾,但却是先清空内存中的数据文件。上述命令等价于以下命令:
clear
use "D:/myData/auto.dta"
然后,Stata 从硬盘 (D:/myData/) 拷贝 auto.dta,将其副本读入内存。
clear
、drop
和 discard
命令均可以在 Stata 中实现清除内存的作用,但这三个命令在清除对象上存在较大的差别。该部分将对这三个命令进行仔细区分,以帮助使用者选择合适的命令进行操作。
drop valist
drop if exp
drop in range [if exp]
drop
命令用于删除变量 (按列删除) 或符合特定条件的观察值 (按行删除)。例如,若执行如下命令:
sysuse "auto.dta", clear
list make price mpg rep78 in 1/10, clean
* 删除列
drop mpg
* 删除符合条件的行
drop if rep78==. | price>10000
删除过程若下图所示:
drop
命令用于删除特定行。比如,若执行如下命令:
sysuse "auto.dta",clear
list make price mpg rep78 in 1/10, clean
* 删除前 2 行
drop in 1/2
* 删除前 5 行中满足其他条件
drop in 1/5 if rep78==.
删除过程如下图所示:
与 drop
功能相似,但存在区别的命令还包括:keep
,program drop
,mata drop
等。keep
命令语法与 drop
命令一致,但其功能恰巧与 drop
命令相反,用来保留变量或者某些观测值。此外,keep
命令也可以用于数据的横向和纵向切分。
执行以下命令,完成数据横向切分:
sysuse "auto.dta",clear
keep make price mpg rep78 foreign
save "d:\data\auto_sim01.dta", replace
上述命令完成了将四个变量另存至 D:\data
文件夹中。换言之,根据数据横向结构做到将原始数据分为不同的数据表。
执行以下命令,完成数据纵向切分:
sysuse "auto.dta",clear
keep if foreign==0
save auto_domestic.dta,replace
上述命令实现以纵向数据结构将 foreign=0
的观测值另存为 auto_domestic.dta
的数据文件中。
program drop
命令主要用于清除 Stata 内存中所运行程序。启动 Stata 时,Stata 中并未运行任何程序,但当我们进行了一系列回归分析后,内存中运行的程序,特别是格式为 .ado
的文件逐渐增多。此时 program drop
命令将发挥清除内存的作用。比如,执行以下命令:
* 删除某个程序
program drop [program_name]
* 删除全部程序
program drop _all
mata drop
命令用于清除 Stata 运行内存中特定的矩阵或公式。比如,可以通过以下命令实现:
* 删除某个矩阵 A
mata drop A
* 删除某个名为 foo() 的公式
mata drop foo()
discard
适用于清除 Stata 运行过程中所有自动加载的程序和储存的运行结果等。主要用于以下几种情况:
但需特别注意的是,该命令仅仅清除 Stata 中正在运行的内容,但并不会清除内存中的数据集。比如,若执行以下命令:
sysuse "auto.dta",clear
reg price mpg rep78
est store reg
discard
通过输入 discard
,可以清除内存中的返回值,但并不会像 clear
清除已读取的数据。
clear
命令功能强大,常用于清除 Stata 中整个数据集和数据标签,但其无法清除数据集中的某一变量。为此 drop
命令可补充此不足,用于清除数据集中某一变量和样本。但单独运行 clear
命令相当于同时运行 drop _all
与 label drop _all
。
discard
命令与 clear
命令在某些方面一致,即无法清除数据集中某一变量和样本,但其也无法清除 Stata 当前使用的数据集和数据标签,该命令常用于清除后台内存中的运行结果等。
Note:产生如下推文列表的 Stata 命令为:
lianxh 数据处理, m
安装最新版lianxh
命令:
ssc install lianxh, replace
免费公开课
最新课程-直播课
专题 | 嘉宾 | 直播/回看视频 |
---|---|---|
⭐ 最新专题 | 文本分析、机器学习、效率专题、生存分析等 | |
研究设计 | 连玉君 | 我的特斯拉-实证研究设计,-幻灯片- |
面板模型 | 连玉君 | 动态面板模型,-幻灯片- |
面板模型 | 连玉君 | 直击面板数据模型 [免费公开课,2小时] |
⛳ 课程主页
⛳ 课程主页
关于我们
课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法
等
连享会小程序:扫一扫,看推文,看视频……
扫码加入连享会微信群,提问交流更方便
✏ 连享会-常见问题解答:
✨ https://gitee.com/lianxh/Course/wikis
New!
lianxh
和songbl
命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh