Stata编程:_n 和 _N 有啥区别?

文摘   教育   2024-10-07 22:01   中国  


👇 连享会 · 推文导航 | www.lianxh.cn

🍓 课程推荐:2024 机器学习与因果推断专题
主讲老师:司继春 (上海对外经贸大学) ;张宏亮(浙江大学)
课程时间:2024 年 11 月 9-10 日 ;16-17日
课程咨询:王老师 18903405450(微信)

 课程特色 · 2024机器学习与因果推断

  • 懂原理、会应用。本次课程邀请了两位老师合作讲授,目的在于最大限度地实现理论与应用的有机结合。为期四天的课程,分成两个部分:第一部分讲解常用的机器学习算法和适用条件,以及文本分析和大语言模型;第二部分通过精讲 4-6 篇发表于 Top 期刊的论文,帮助大家理解各类机器学习算法的应用场景,以及它们与传统因果推断方法的巧妙结合。
  • 以 Top 期刊论文为范例。目前多数人的困惑是不清楚如何将传统因果推断方法与机器学习结合起来。事实上,即便是 MIT 和 Harvard 的大牛们也都在「摸着石头过河」。为此,通过论文精讲和复现来学习这部分内容或许是目前最有效的方式了。张宏亮老师此前在浙江大学按照这一模式教授了「因果推断和机器学习」课程,效果甚佳:学生们能够逐渐建立起研究设计的理念,并在构造识别策略时适当地嵌入机器学习方法。 


作者:梁淑珍 (华侨大学)
邮箱: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 - 数据和程序

🍓 课程推荐:2024 机器学习与因果推断专题
主讲老师:司继春 (上海对外经贸大学) ;张宏亮(浙江大学)
课程时间:2024 年 11 月 9-10 日 ;16-17日
课程咨询:王老师 18903405450(微信)

尊敬的老师 / 亲爱的同学们:

连享会致力于不断优化和丰富课程内容,以确保每位学员都能获得最有价值的学习体验。为了更精准地满足您的学习需求,我们诚挚地邀请您参与到我们的课程规划中来。请您在下面的问卷中,分享您 感兴趣的学习主题或您希望深入了解的知识领域 。您的每一条建议都是我们宝贵的资源,将直接影响到我们课程的改进和创新。我们期待您的反馈,因为您的参与和支持是我们不断前进的动力。感谢您抽出宝贵时间,与我们共同塑造更加精彩的学习旅程!https://www.wjx.cn/vm/YgPfdsJ.aspx# 再次感谢大家宝贵的意见!

New! Stata 搜索神器:lianxh 和 songbl  GIF 动图介绍
搜: 推文、数据分享、期刊论文、重现代码 ……
👉 安装:
  . ssc install lianxh
  . ssc install songbl
👉  使用:
  . lianxh DID 倍分法
  . songbl all

🍏 关于我们

  • 连享会 ( www.lianxh.cn,推文列表) 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • 直通车: 👉【百度一下: 连享会】即可直达连享会主页。亦可进一步添加 「知乎」,「b 站」,「面板数据」,「公开课」 等关键词细化搜索。

连享会
连玉君老师团队分享,主页:lianxh.cn。白话计量,代码实操;学术路上,与君同行。
 最新文章