关键词:Stata数据转换; Stata数据拆分; Stata数据合并; Stata变量赋值
一、增加/删除变量
(一)增加变量
读入“示例数据1.csv”,如图1所示。
使用命令generate可以创建新的变量,命令为:“generate 新变量=表达式”。
如创建一个身高和体重比值的新变量x,结果如图2所示。
generate x=hight/weight
(二)删除变量
使用命令drop可以删除已有的变量,命令为:“drop 变量”。
drop x
变量x被删除。
二、变量标签
命令label是一组用于设定标签的命令,可用来为整个数据集和每个变量添加标签。
(一)添加数据集的标签
命令为:“label data 数据标签”
label data 示例数据1
(二)添加变量的标签
命令为:“label variable 变量 变量标签”
label variable age "年龄" label variable gender "性别" label variable grade "年级" label variable hight "身高" label variable weight "体重"
在Stata右侧的变量窗口可以看到添加标签后数据的变化,其中图3-1为未添加任何标签的原始数据,图3-2为添加数据集标签和变量标签后的数据。
(三)添加变量值标签
label为变量数值添加标签的命令包括两部分:
1.定义数值标签,命令为:“label define 数值标签名称 标签”。
label define gradelb 1 "大一" 2 "大二" 3 "大三" 4 "大四"
2.将定义好的数值标签添加到变量上,命令为:“label values 变量 数值标签”。
label values grade gradelb
图3-3显示了变量“grade”添加变量值标签后的显示形式,与图1相比,变量“grade”的取值由“1、2、3、4”变为了“大一、大二、大三、大四”。
三、变量/数据描述
命令describe可用来查看数据的概要,如图4所示。
describe
命令codebook用于详尽地描述变量的内容,包括变量名称、变量标签和变量的赋值。如查看变量grade的详细内容,如图5所示。
codebook grade
四、变量/数据转换
在数据分析过程中,常常需要对变量重新赋值或者计算生成一个新变量,这都涉及到变量和数据的转换,下面以“示例数据1.csv”演示变量/数据转换的操作步骤。
(一)变量重新编码
在进行数据分析之前,有时需要对变量进行相应调整,比如对于“示例数据1”,原来的“grade (年级)”变量中“1”代表大一,“2”代表大二,“3”代表大三,“4”代表大四,后面的研究中需要将大一和大二合并,大三和大四合并,此时就需要对“grade”这个变量重新编码,结果如图6所示。
1.创建一个新变量grade1。
generate grade1=.
2.对变量grade1赋值。
replace grade1=1 if grade==1 | grade==2 replace grade1=2 if grade==3 | grade==4
(二)生成新变量
有些变量在原始数据中并不能获得,但是可以通过原始数据的简单计算生成,如“示例数据1 ”中已经有“hight (身高) ”和“weight (体重) ”数据,可以通过这两个数据获得体质指数 (Body Mass Index, BMI),结果如图7所示。
generate bmi=weight/(hight/100)^2