Stata连享会 主页 || 视频 || 推文 || 知乎 || Bilibili 站
温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。
New!
lianxh
命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc
,ihelp
,rdbalance
,gitee
,installpkg
⛳ Stata 系列推文:
作者:巴宁 (北京理工大学)
邮箱:baningchina@163.com
编者按:本文主要摘译自下文,特此致谢!
Source:Bjärkefur K, de Andrade L C, Daniels B. iefieldkit: Commands for primary data collection and cleaning[J]. The Stata Journal, 2020, 20(4): 892-915. -PDF-
目录
iefieldkit
命令由世界银行 DIME (World Bank's Development Impact Evaluation Department) 小组的两位经济学家 Andrade 和 Bjarkefur,以及乔治城大学的 Daniels 教授共同编写的数据收集和清洗命令。该命令主要包含三个子功能,即前期问卷设计、数据的收集、数据清理和协同。
作者希望通过 iefieldkit
命令简化问卷数据搜集与处理过程中的流程,简化 do 文档,让 Stata 新手可以更快的加入整个工作流程并自动输出可视化的表格。本推文将介绍其中最重要的三个命令。
初次使用,需要通过 cnssc install iefieldkit, replace
安装命令。以下三个子命令分别适用于调查前、调查中、调查后三个阶段。
ietestform
命令为自动化的数据质量控制命令。虽然利用 ODK 软件搜集可以很容易做到无差错的数据搜集,但是由于 Stata 并不能直接处理 ODK 工具搜集到的数据,转化步骤费时且难度较大。因此 ietestform
工具需要达到以下目标:
其中,Open Data Kit (ODK) 为世行 DIME 小组常用的初步数据搜集软件,详细介绍可参考「ODK 官网」。
*命令语法
ietestform, surveyform("filename.xlsx") report("report.csv")
在命令执行后,该命令会生成如下图所示的一份 csv 格式的报告,用以标记数据编码中的错误,和需要人工审查的非严格错误。主要包括以下内容:
ieduplicates
和 iecompdup
命令用于数据重复项识别和更新对比。DIME 小组的目标是建立一套标准化的流程,可以让没有 Stata 基础的小组成员快速上手操作。在完成初步的数据格式转化后,原始数据通常还是十分杂乱的 (有处理 WB 数据库经历的小伙伴一定感同身受),此时需要一套标准化的工作流程对原始数据进行实时的修整。
*命令语法
ieduplicates id_varname using "filename.xlsx"
, uniquevars(varlist)
其中:
id_varname
:必须是数据集中的唯一 ID 变量;filename.xlsx
:便于不了解 Stata 的团队成员也可以阅读报告并进行更正;uniquevars()
:使用指定的一个或多个变量来唯一标识数据集中的每个观察值。该命令需要作出判定:
作者在文中强调,需要对输出的新数据再次使用 ieduplicates
命令,此时已经做出的判定会生效。然后不断重复这一过程,ieduplicates
命令会记录每一次的修改内容,且不会影响原始数据。
*命令语法
iecompdup idvariable, id(idvalue)
iecompdup
命令主要负责处理以下三种情况:
但是作者也承认该命令存在一些缺陷:
iecodebook
命令通过 Excel 修改变量信息。
*step 1:输出现有变量表
iecodebook template using "/path/to/codebook.xlsx"
*step 2:读取修改后的变量表
iecodebook apply using "/path/to/codebook.xlsx"
, [drop] [missingvalues(# "label" [# "label" ...])]
通过 “codebook” 这一名称,已经可以大致判断该命令的功能。iecodebook
命令的主要功能:
sysuse auto.dta, clear
iecodebook template using "codebook.xlsx" //生成一个净化后的模板
此时将会输出一个表格,我们可以直接在表格中对变量名 (标签) 等信息进行修改。作为演示,将原数据的 foreign 改为 domestic。其原理也非常简单,将原有的 0-1 互换即可,如下图最后一行所示:
这一命令允许用户在 Stata 以外的环境下对变量进行编译,以实现 rename
、recode
、label
等命令 (虽然这些命令很简单且所有用户都会),但是在面对变量个数较多的情况下,该命令可以避免此类重复的工作,在 Excel 里操作更加直观且高效,且有利于其他成员的查看。
在修改相关信息后,通过以下代码重新读取:
sysuse auto.dta, clear
iecodebook apply using "codebook.xlsx" //读取新的变量名和标签名
此时原有的 foreign 变量已经被我们转化为 domeatic 变量 (0-1互换):
. tab foreign //原始数据
Car type | Freq. Percent Cum.
------------+-----------------------------------
Domestic | 52 70.27 70.27
Foreign | 22 29.73 100.00
------------+-----------------------------------
Total | 74 100.00
. tab domestic //修改变量名后的数据
Domestic Make |
and Model | Freq. Percent Cum.
---------------+-----------------------------------
No | 22 29.73 29.73
Yes | 52 70.27 100.00
---------------+-----------------------------------
Total | 74 100.00
通过以上三个主要命令的介绍和展示,可以强烈感受到 iefieldkit
命令的作者始终以简化问卷数据搜集和处理的工作流为目标,通过将 Stata 数据转化为 Excel 软件可以查看和修改的方式,为非专业乃至不懂 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