Stata 数据框 frames

frames (数据框) 操作是 Stata 16+ 的进阶操作,适用于多个数据集的读写操作。相比于 preserve/restore 命令,操作起来更快,冗余更少,效率更高!

🧰 知识点:frames dir / frames create / frames change / frames put / frames copy / frames post / frlink / frames drop

推荐资料:
慧航 | Stata教程第4节:数据框的使用_哔哩哔哩_bilibili
Stata:如何同时对多个数据框操作-frame
使用stata数据框frame处理数据
利用stata计算分组基尼系数的四种方法

数据框(Data frames)
  • 定义:支持同时操作多个数据集而不用频繁打开、关闭文件,或者频繁使用 preserve/restore 操作。
  • 好处:数据框的数据常驻内存,启用、切换速度快;而打开、关闭文件需要频繁读取和写入硬盘,速度慢。
  • 打开 Stata 之后便会默认创建的 frames: default
  • 查看内存的 frames: frames dir
  • 新建空 frames
  • frames create fname
  • 新建 frames 并添加新变量
  • frames create fname varname1 varname2
  • 向 frames 添加数据
  • frames post fname (111) (222)
  • 不同 frames 之间的切换
  • frames change fname
  • 不切换当前 frames 的前提下,调用/查看/描述另一个 frames 的数据
  • frames fname: use a.dta, clear
  • frames fname: sum wage
  • 拷贝 frames
  • 完整拷贝: frames copy fname fname_new
  • 部分拷贝: frames put var1-var5, into(fname_new)
  • 删除 frames
  • 删除某个 frames: frames drop fname
  • 清除所有的 frames: clear frames / clear all
  • 多个 frames 连接(类似 merge): frlink
  • frlink m:1 cid, frame(usingfname)
  • 调用当前数据框以外的其他数据框某个变量的取值
  • frval(fname, varname)
  • 复制变量至当前 frames
  • frget varname, from(fname)
  • 把女性样本的数据另存为 female.dta
  • 创建新的 frames1 和 新的 frames2 ,并分别调用 a.dta b.dta 数据,利用数据拟合线性回归,然后进行结果对比
  • 将当前 frames frames2 根据 cid year 1:1 匹配起来,然后利用 frames2 中的 x x1 生成一个新变量 x_new frames put if sex == 1, into(female)
    * 创建新的 frames1 和 新的 frames2,并分别调用 a.dta 和 b.dta 数据,利用数据拟合线性回归,然后进行结果对比 *
    frames create a
    frames a: use a.dta
    frames create b
    frames b: use b.dta
    frames a: reg y_a x_a
    est store a
    frames b: reg y_b x_b
    est store b
    est table a b