Stata编程:_n 和 _N 有啥区别?
👇 连享会 · 推文导航 | www.lianxh.cn
🍎 Stata:Stata基础 | Stata绘图 | Stata程序 | Stata新命令 📘 论文:数据处理 | 结果输出 | 论文写作 | 数据分享 💹 计量:回归分析 | 交乘项-调节 | IV-GMM | 时间序列 | 面板数据 | 空间计量 | Probit-Logit | 分位数回归 ⛳ 专题:SFA-DEA | 生存分析 | 爬虫 | 机器学习 | 文本分析 🔃 因果:DID | RDD | 因果推断 | 合成控制法 | PSM-Matching 🔨 工具:工具软件 | Markdown | Python-R-Stata 🎧 课程:公开课-直播 | 计量专题 | 关于连享会
连享会 · 2022 空间计量专题
连享会 · 2022 面板数据因果推断专题
作者:梁淑珍 (华侨大学)
邮箱:13514084150@163.com
温馨提示: 文中链接在微信中无法生效。请点击底部「阅读原文」。或直接长按/扫描如下二维码,直达原文:
目录
1. 引言
2. 系统变量
3. 显式索引
4. 分组索引
5. 分组求和/均值
6. 相关推文
1. 引言
_n
和 _N
还傻傻分不清?这是 Stata 初学者经常面临的一个问题。灵活使用 _n
和 _N
能够解决数据处理过程中一些棘手的问题。为此,本文将详细梳理二者间的区别和使用场景。
2. 系统变量
所谓系统变量是指 Stata 自带并更新的变量,其形式为 _variables
。_n
和 _N
是常见的两个系统变量,其中 _n
为当前数据集中观测值的编号,_N
为当前数据集中观测值的总数或数据集分组后的各组观测值的总数。常见的系统变量还有:
_b[varname]
:某变量的回归系数;_se[varname]
:某变量的标准误;_cons
:截距项系数;_pi
:圆周率 π;_rc
:执行capture
命令后的返回值。
3. 显式索引
在实际操作中,可以通过索引的方式引用某个变量的观测值,具体做法是在变量名后加一对方括号,并在方括号中输入位置参数。
. * 生产变量 x,并赋值 1-10
. clear
. set obs 10
. gen x = _n
. * 生成变量 y1,y1 所有观测值为 x 的第 1 行观测值
. gen y1 = x[1]
. * 生成变量 y2,y2 所有观测值为 x 的第 2 行观测值
. gen y2 = x[2]
. list, noobs
+--------------+
| x y1 y2 |
|--------------|
| 1 1 2 |
| 2 1 2 |
| 3 1 2 |
| 4 1 2 |
| 5 1 2 |
|--------------|
| 6 1 2 |
| 7 1 2 |
| 8 1 2 |
| 9 1 2 |
| 10 1 2 |
+--------------+
4. 分组索引
_n
和 _N
除了适用于整个数据集外,还适用于分组后的数据集。
. clear
. input id oldvar
. bys id: gen small_n=_n
. bys id: gen big =_N
. bys id: gen newvar=oldvar[1]
. list, noobs
+--------------------------------------+
| id oldvar small_n big newvar |
|--------------------------------------|
| 1 1.1 1 3 1.1 |
| 1 2.1 2 3 1.1 |
| 1 3.1 3 3 1.1 |
| 2 4.1 1 2 4.1 |
| 2 5.1 2 2 4.1 |
+--------------------------------------+
此时数据集被分为两组,观测值 1-3 为一组,4 和 5为一组。_n
返回的是分组后各观测值的组内位置编号,_N
返回的是分组后组内观测值总数,oldvar[1]
引用的是分组后组内的第 1 个观测值。分组索引的应用常见于面板数据,具体在在实证中通常是以公司和年份作为分组变量进行一系列操作。
5. 分组求和/均值
导入 auto 数据集,计算国内和国外的汽车平均价格。
. sysuse auto, clear
. * 法一
. bys foreign: gen avgx1 = sum(price) / _n
. bys foreign: replace avgx1 = avgx1[_N]
. * 法二
. bys foreign: egen avgx2 = mean(price)
6. 相关推文
Note:产生如下推文列表的 Stata 命令为:
lianxh 程序 编程, m
安装最新版lianxh
命令:
ssc install lianxh, replace
专题:计量专题 Stata:事件研究法的编程实现 专题:Stata教程 Stata编程:暂元,local!暂元,local! 普林斯顿Stata教程(三) - Stata编程 专题:Stata命令 moremata程序包手动安装方法 专题:Stata程序 Stata:复合双引号在编程中的应用 Stata小白编程:暂元及macrolists命令 Stata小白编程:步步为营-以阶乘计算为例 Stata程序:最大公约数和最小公倍数 Stata程序:10 分钟快乐编写 ado 文件 Stata程序:Monte-Carlo-模拟之产生符合特定分布的随机数 Stata程序:我的程序多久能跑完? Stata程序:暂元-(local)-和全局暂元-(global) Stata程序:切割文件路径和文件名 Stata程序:是否有类似-Python-中的-zip()-函数 Stata程序:在我的程序中接纳另一个程序的所有选项 Stata 程序:数值求解极值的基本思想 专题:合成控制法 Stata:合成控制法程序分享 专题:内生性-因果推断 Robins - Causal Inference: What if - 数据和程序
课程推荐:面板数据因果推断
主讲老师:徐轶青 (斯坦福大学)
🍓 课程主页:https://gitee.com/arlionn/Course
New! Stata 搜索神器:
lianxh
和songbl
GIF 动图介绍
搜: 推文、数据分享、期刊论文、重现代码 ……
👉 安装:
. ssc install lianxh
. ssc install songbl
👉 使用:
. lianxh DID 倍分法
. songbl all
🍏 关于我们
连享会 ( www.lianxh.cn,推文列表) 由中山大学连玉君老师团队创办,定期分享实证分析经验。 直通车: 👉【百度一下: 连享会】即可直达连享会主页。亦可进一步添加 「知乎」,「b 站」,「面板数据」,「公开课」 等关键词细化搜索。