? 连享会主页:lianxh.cn
New!
lianxh
命令发布了: GIF 动图介绍
随时搜索 Stata 推文、教程、手册、论坛,安装命令如下:. ssc install lianxh
连享会 · 最受欢迎的课
? 2021 Stata 寒假班
⌚ 2021 年 1.25-2.4? 主讲:连玉君 (中山大学);江艇 (中国人民大学)
? 课程主页:https://gitee.com/arlionn/PX
作者:展一帆 (复旦大学)E-mail: simonzhanyf@163.com
目录
1. 问题背景
2. 条件函数
2.1 cond()
2.2 inrange()
2.3 inlist()
2.4 clip()
2.5 missing()
3. 扩展阅读
相关推文
1. 问题背景
在编写 Stata 程序时,我们经常会遇到需要使用条件判断语句,例如当满足条件 A 的时候进行某项操作,而不满足条件 A 时则进行另一种操作。
工欲善其事,必先利其器,熟练掌握一些 Stata 提供的条件函数无疑可以达到事半功倍目的。
为此,本文将为大家介绍一些 Stata 中常用的条件函数。
2. 条件函数
2.1 cond()
以「auto.dta」数据为例,变量 rep78 为在 1978 年维修的次数,取值范围为 1 至 5。在研究中,我们希望定义一个新的变量 bad,当 rep78 大于等于 4 时,取值为 1,表示该车可能质量存在问题,反之取 0。此时调用 cond()
函数便可轻松完成该目标:
* 基本语法: cond(ifc, a, b)
* 条件 ifc 为真时,返回 a, 否则返回 b
* cond(x>2,50,70) returns 50 if x > 2 (includes x > .)
* cond(x>2,50,70) returns 70 if x < 2
* 示例
sysuse "auto", clear
gen bad1 = cond(rep78>=4, 1, 0) // cond(ifc,a,b) 格式
replace bad1=. if rep78==. //很重要!
br rep78 bad1
* 等价于:
gen bad2 = cond(missing(rep78),., cond(rep78&g