Stata数据库管理

发布于 2022年1月17日 星期一 20:50:13 浏览:2702
原创不易,转载请注明来源,感谢!

数据的合并包括样本的合并和变量的合并,下面以“示例数据1”和“示例数据2” [“示例数据2”为15名高校大一至大四在校大学生的身高(cm)、体重(kg)数据)]演示样本合并和变量合并的操作步骤。

关键词:Stata个案合并; Stata变量合并; Stata数据筛选

一、样本合并

假设“示例数据1.csv”中记录了ID为1~15的15名研究对象的“age (年龄) ”、“gender (性别) ”、“grade (年级) ”、“hight (身高) ”和“weight (体重) ”五个变量数据,“示例数据2.csv”中记录了ID为16~30的15名研究对象的“age”、“gender”、“grade”、“hight”和“weight”5个变量数据,现需要将两个数据库的数据进行合并。

*读取文件“示例数据1.csv” *

insheet using C:\Users\HP\Desktop\数据管理\示例数据1.csv, clear

此处数据读取路径根据数据集的具体位置而定

图1

*将数据保存为“.dta格式”*

save C:\Users\HP\Desktop\数据管理\示例数据1.dta

*读取文件“示例数据2.csv” *

insheet using C:\Users\HP\Desktop\数据管理\示例数据2.csv, clear

图2

*将数据保存为“.dta格式”*

save C:\Users\HP\Desktop\数据管理\示例数据2.dta

*将“示例数据1.dta”和“示例数据2.dta”进行合并*

use C:\Users\HP\Desktop\数据管理\示例数据1
append using C:\Users\HP\Desktop\数据管理\示例数据2
图3

需要注意的是,样本合并之前必须确保合并的两个数据库中变量的顺序完全一致。

二、变量合并

假设“示例数据3.csv”记录了ID为1~15的15名研究对象的“age”、“gender”和“grade”三个变量数据,“示例数据4.csv”记录了ID为1~15的15名研究对象的“hight”和“weight”两个变量数据,现需要将两个数据库的数据进行合并。

*读取文件“示例数据3.csv” *

insheet using C:\Users\HP\Desktop\数据管理\示例数据3.csv, clear

图4

*将数据保存为“.dta格式”*

save C:\Users\HP\Desktop\数据管理\示例数据3.dta

*读取文件“示例数据4.csv” *

insheet using C:\Users\HP\Desktop\数据管理\示例数据4.csv, clear

图5

*将数据保存为“.dta格式”*

save C:\Users\HP\Desktop\数据管理\示例数据4.dta

*将“示例数据3.dta”和“示例数据4.dta”进行合并*

use C:\Users\HP\Desktop\数据管理\示例数据3
merge 1:1 id using C:\Users\HP\Desktop\数据管理\示例数据4
图6

需要注意的是,合并之前必须确保两个数据库中样本例数的ID顺序完全一致。

三、数据筛选

在数据分析过程中,有时需要选择一部分数据进行分析,即选择满足一定条件的样本,比如,选择血红蛋白浓度大于160 g/L的样本人群,选择年龄大于60岁的样本人群。可以利用条件抽取、挑选出或删除符合/不符合一定条件的样本,如删除有缺失值的样本。这时就要使用数据筛选功能。以“示例数据1”演示筛选出“gender”为“male”以及“grade”为“2”的样本。

在数据量不多的情况下,可直接使用list命令在结果窗口列出要筛选的数据,如图7所示。

list if gender=="male" & grade==2

图7

另外,还可以使用keep命令保留符合条件的数据,不符合条件的数据将被删除,如图8所示。

keep if gender=="male" & grade==2

图8
End
文章目录 沉浸式阅读