上海手机网站建设电话,网址和域名,湖南二维码标签品牌,seo是怎么优化推广的❝作者#xff1a;江小白邮箱#xff1a;jieresearch163.com❞我们在使用stata进行数据分析时#xff0c;可能涉及多个数据文档的合并操作或者同时使用不同数据集中的多个变量#xff0c;这都需要我们进行文档间不同变量的归并。例如#xff0c;我们需要使用CFPS(中国家庭… ❝作者江小白邮箱jieresearch163.com❞我们在使用stata进行数据分析时可能涉及多个数据文档的合并操作或者同时使用不同数据集中的多个变量这都需要我们进行文档间不同变量的归并。例如我们需要使用CFPS(中国家庭追踪调查)数据库进行实证分析而申请拿到的原始数据中包含成人数据库儿童数据库家庭关系库等多个数据集我们需要的变量分散在这些数据集中此时就需要将不同数据库中的不同变量放到一起再譬如我们需要CFPS多期的调查数据构建多期面板这又需要我们把多期的数据合并到一起...在stata中就为我们提供了merge append 等命令以实现多个数据文件的「横向合并」或「纵向合并」。「merge」 命令merge和 append 都是stata自带的数据处理命令为了了解命令的使用我们可以使用help 命令help merge通过帮助命令我们可以观察到如下语句格式❝通过关键变量进行1对1合并merge 1:1 varlist using filename通过关键变量进行多对1合并merge m:1 varlist using filename通过关键变量进行1对多合并merge 1:m varlist using filename通过关键变量进行多对多合并merge m:m varlist using filename通过观测数进行1对1合并merge 1:1 _n using filename❞利用帮助文件的示例演示1对1的数据合并如何操作webuse autosizelistwebuse autoexpenselist/*Perform 1:1 match merge*/webuse autosizemerge 1:1 make using http://www.stata-press.com/data/r15/autoexpenselist通过list命令我们可以观察到 autosize 和 autoexpense 的数据详情autosize 数据makeweightlengthToyota Celica2,410174BMW 320i2,650177Cad. Seville4,290204Pont Grand Prix3,210201Datsun 2102,020165Plym. Arrow3,260170autoexpense 数据makepricempgToyota Celica5,89918BMW 320i9,73525Cad. Seville15,90621Pont. Grand Prix5,22219Datsun 2104,58935根据数据中的make变量进行 1对1 的合并,在merge合并中我们需要定义 master 数据集和 using 数据集相当于我们对于数据集定义主从关系我们将 autosize 数据集作为master然后 using autoexpense 数据集1对1合并那么可以得到如下合并结果使用 merge 后stata会给出数据 match 的结果如下表这个结果告诉我们两个数据集中有5个观测变量成功 match(用_merge3表示这类变量)有1个观测变量 not matched而且这个匹配失败的变量来自master 数据集 (用_merge1表示这类变量)。「数据match结果」Result# of obs.not matched1from master1 (_merge1)from using0 (_merge2)matched5 (_merge3)在数据处理过程中可以在匹配后删除我们不需要的not matched 的样本例如drop if merge1可以直接删除master数据集中未匹配的样本。此外merge 命令还提供了诸多的选择项(option)内容比较常用的有keepusing(varlist):保留数据集中特定变量generate(newvar):使用新的变量名称标记merge结果默认为mergenogenerate :不生成merge变量update: 用using数据集中的值替代master数据集中相同变量的缺失值replace:用using数据集中的值替代master数据集中相同变量的非缺失值force:允许字符型和数值型变量之间不匹配示例中还提供了1:mm:1,以及多个选择项使用的例子(我们一般很少用到m:m合并)其操作与解读与1:1的合并类似 /*进行 1:1 merge, 并保留匹配变量*/webuse autosize, clearmerge 1:1 make using http://www.stata-press.com/data/r15/autoexpense, ///keep(match) nogenlist/* Setup */webuse dollars, clearlistwebuse sforcelist/*与 sforce 进行 m:1 merge */merge m:1 region using http://www.stata-press.com/data/r15/dollarslist/*Setup*/webuse overlap1, clearlist, sepby(id)webuse overlap2list/*进行 1:m merge, 带update replace选项*/webuse overlap2, clearmerge 1:m id using http://www.stata-press.com/data/r15/overlap1 /// update replacelist /*按样本进行顺序合并*/webuse sforce, clearlistmerge 1:1 _n using http://www.stata-press.com/data/r15/dollarslist「append」 命令如果需要实现数据的纵向合并我们使用append命令help appendappend的语句格式如下❝append using filename [filename ...] [, options]❞使用示例数据演示合并/*Setup*/webuse evenlistwebuse oddlistappend using http://www.stata-press.com/data/r15/evenlisteven数据集numbereven612714816odd 数据集numberodd1123354759合并结果numberoddeven11.23.35.47.59.6.127.148.16append命令也带有 keep nolabel force等选择项使用方法与merge大同小异这些操作可以帮助我们在stata中实现数据的横向与纵向合并。例如在CFPS数据集中可以根据追踪调查所标记的个人ID(pid)和家庭ID(fid)等变量从相应数据库中提取我们所需的变量进行合并也可以根据调查年份合并我们所需的面板...在实际中可以根据数据的结构特点和研究需求选择合适的操作命令用stata进行数据集的合并你学会了吗本文相关的附件可以从https://github.com/czxa/Stata-Chinese-community获取点击阅读原文即可跳转欢迎关注公众号获取更多stata相关推文