第4讲 数据操作和数据管理2Word下载.docx
- 文档编号:8574980
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:11
- 大小:181.29KB
第4讲 数据操作和数据管理2Word下载.docx
《第4讲 数据操作和数据管理2Word下载.docx》由会员分享,可在线阅读,更多相关《第4讲 数据操作和数据管理2Word下载.docx(11页珍藏版)》请在冰点文库上搜索。
useodd,clear
describeusingeven
appendusingeven
例3:
(同例1,无论主数据集或追加数据集,都保留更精确的存储类型)
useeven,clear
describe
例4:
(添加值标签)
usecapop
describeusingilpop
describeusingtxpop
appendusingilpoptxpop,generate(state)
labeldefinestatelab0"
CA"
1"
IL"
2"
TX"
labelvaluesstatestatelab
2.[D]merge....................................................Mergedatasets
mergeMergedatasets(合并数据集。
匹配于一个或多个指定的关键变量,合并主数据集和从数据集的对应观测值。
append是为已有变量增加新观测值)
(合并从主数据集的第1个观测值开始,对于主数据集的每1个观测值,合并在从数据集中找到的对应观测值,记录匹配或不匹配的结果。
对主数据集的第2个观测值重复上述操作,直到主数据集的匹配检查全部完成。
最后再检查从数据集中未与主数据集匹配的观测值。
默认情况下,未匹配的观测值保留在合并数据集中,无论他们来自主数据集或从数据集。
)
参考文献:
Gould,W.W.2011a.Mergingdata,part1:
Mergesgonebad.TheStataBlog:
NotElsewhereClassified.
Gould,W.W.2011b.Mergingdata,part2:
Multiple-keymerges.TheStataBlog:
1:
1merges原理
关键变量同时出现在两个数据集中,并且分别对应唯一的观测值。
假设有两个数据集:
输入:
merge1:
1idusingfilename
输入(面板数据的例子):
1pidtimeusingfilename
m:
关键变量同时出现在两个数据集中,并且在主数据集中对应多个观测值,在从数据集中对应唯一观测值。
mergem:
1regionusingfilename
mmerges原理
类似于mergem:
1,只是转换主数据集和从数据集的位置。
mregionusingfilename
需要注意的是,Stata不建议使用m:
mmerges,这种合并不是一个好主意。
你需要首先处理数据,然后使用1:
mmerge或m:
1merge。
序贯合并(Sequentialmerges)和m:
mmerges同样有风险。
排除故障m:
mmerges
1.有时间变量:
假设一个面板数据,每个id变量/标识符对应4个观测值。
msubjectidusingfilename(错误)
msubjectidtimeusingfilename(加入时间变量,正确)
2.没有时间变量:
假设数据集没有时间变量,但有一个序列的概念,记录了观测值的顺序。
首要目标应该是从当前顺序创建明确的序列变量来解决这个问题。
sortsubjectid,stable(不要省略stable选项,这保证观测值在每个id中有同样的顺序。
保存数据。
在从数据集执行相同的操作。
)
bysubjectid:
genseqnum=_n
msubjectidseqnumusingfilename
(merge1:
1模式)
useautosize,clear
useautoexpense,clear
(仔细观察数据集,关键变量make同时出现在两个数据集中,并且分别对应唯一的观测值,所以应当使用merge1:
1模式。
1makeusingautoexpense
tabulate_merge
listif_merge<
3
dropif_merge<
useautosize,clear
merge1:
1makeusingautoexpense,keep(match)nogenerate
list
(mergem:
usesforce,clear
usedollars,clear
(仔细观察数据集,关键变量region同时出现在两个数据集中,在主数据集sforce中,region对应多个观测值;
在从数据集dollars中,region对应唯一观测值,所以应当使用mergem:
usesforce,clear
mergem:
1regionusingdollars
例3-例6是关于重叠变量,不作为重点。
(对于匹配的id,主数据集的数据享有优先保存权,重叠变量x1和x2仍然是主数据集的值。
useoverlap1,clear
list,sepby(id)
useoverlap2,clear
(仔细观察数据集,id是关键变量,x1和x2是重叠变量。
useoverlap1,clear
1idusingoverlap2
list,sepby(id)
(update选项,使用从数据集的值替换主数据集的缺失值)
1idusingoverlap2,update
例5:
(replace选项,使用从数据集的值替换主数据集的对应值)
1idusingoverlap2,updatereplace
例6:
1idusingoverlap2,updatekeep(345)
二、数据集的转置
1.[D]reshape....................Convertdatafromwidetolongformandviceversa
reshapeConvertdatafromwidetolongformandviceversa(转换数据从宽格式到长格式,反之亦然)
示例:
使用命令reshape之前,需要确定数据的格式是长还是宽,还要确定逻辑观测值(i)和次级观测值(j),如面板数据。
基本命令:
reshapelonginc,i(id)j(year)(从宽到长)(i()可代表一个id变量或多个id变量。
多个id变量的例子是每个医院的医院id和病人id,i(hidpid)。
hid和pid的唯一组合定义了组间变量)
reshapewideinc,i(id)j(year)(从长到宽)
观测数据Xij,其中i是逻辑观测变量,或组间标识符。
j是次级观测变量,或组内标识符。
宽形数据由逻辑观测变量组织,所有数据存储在一行观测值中。
长形数据由次级观测变量组织,数据存储在多行观测值中。
有宽形数据,记录个人ID、性别和1980–1982年的年收入。
有两个Xij变量。
usereshape1,clear
reshapelongincue,i(id)j(year)(宽转长。
原始的宽形数据没有year变量,转换后的长形数据有新变量year)
list,sep(3)
reshapewideincue,i(id)j(year)(长转宽)
(变量id不唯一识别观测值,也就是说,在宽形数据中变量i()必须唯一)
usereshape2,clear
reshapelonginc,i(id)j(year)
(在长形数据中,变量i(id)不必唯一,但j(year)在i()中必须唯一识别观测值。
usereshapexp1,clear
reshapewideinc,i(id)j(year)
reshapeerror
usereshape6,clear
listin1/4
reshapewideinc,i(id)j(year)(错误)
reshapewideincue,i(id)j(year)(正确,ue在i(id)中不是常量)
总之,有三种情况,reshape将拒绝数据转换:
1.宽形数据,i(id)不唯一。
2.长形数据,j(year)在i()中不唯一。
3.长形数据,未指定的变量在i()中不是常量。
(Xij变量中缺少了变量ue)
reshapewide(返回原始的宽形数据)
reshapelongincue,i(id)j(year)
小结:
如果得到一个意想不到的结果,如何撤消它:
1.如果输入reshapelong语句,输入reshapewide(不带参数)撤消它。
2.如果输入reshapewide语句,输入reshapelong(不带参数)撤消它。
(缺失的变量被视为变量有缺失值)
usereshape1,clear
dropue81
reshapewideincue,i(id)j(year)
list,sep(3)(数据集发生了变化:
建立ue81变量,包含全部缺失值)
例7:
usereshape3,clear
reshapelonginc@rue,i(id)j(year)(通配符@代表数字。
在宽形数据中,inc@r表示变量名inc#r;
在长形数据中,inc@r表示incr)
reshapewideinc@rue,i(id)j(year)
例8:
(选项string允许j()指定字符变量)
usereshape4,clear
reshapelonginc,i(id)j(sex)string(sex是字符变量)
list,sep
(2)
reshapewideinc,i(id)j(sex)string
reshapelonginc@,i(id)j(sex)string(通配符@代表字符。
符号@的位置取决于变量名)
例9:
第二层嵌套
数据可能包含两个以上的j()变量,例如同时具有year变量和sex变量。
数据的逻辑观测值能用四种形式来表示:
第一,长—长形
第二,长—year,宽—sex形
第三,宽—year,长—sex形
第四,宽—宽形
FromTo
yearsexyearsexCommand
longlonglongwidereshapewide@inc,i(hidyear)j(sex)string
longwidelonglongreshapelong@inc,i(hidyear)j(sex)string
longlongwidelongreshapewideinc,i(hidsex)j(year)
widelonglonglongreshapelonginc,i(hidsex)j(year)
longwidewidewidereshapewidemincfinc,i(hid)j(year)
widewidelongwidereshapelongmincfinc,i(hid)j(year)
widelongwidewidereshapewide@inc90@inc91,i(hid)j(sex)string
widewidewidelongreshapelong@inc90@inc91,i(hid)j(sex)string
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第4讲 数据操作和数据管理2 数据 操作 数据管理