第4讲数据操作和数据管理1Word文档格式.docx
《第4讲数据操作和数据管理1Word文档格式.docx》由会员分享,可在线阅读,更多相关《第4讲数据操作和数据管理1Word文档格式.docx(33页珍藏版)》请在冰豆网上搜索。
重塑数据集
标签,显示格式和注释
变量的更改和重命名
检查数据
文件操作
混合数据命令
当数据管理任务很复杂或需要重复进行时,Stata用户可以编写自己的程序来自动完成这些工作。
尽管Stata是因其分析功能而著名,其实它同时也具有广泛的数据管理功能。
本讲将介绍其中一些基本功能。
一、基本数据命令
1.[D]use....................................................LoadStatadataset
useLoadStatadataset(打开Stata数据集)
例1:
(打开指定变量,可应用条件语句:
if/in)
useln_wagegradeagetenureraceusingnlswork
describe
2.[D]save....................................................SaveStatadataset
saveSaveStatadataset(保存Stata数据集)
savefilename(首次保存文件)
save,replace(保存且替换已有文件)
3.[D]describe...................................Describedatainmemoryorinfile
describeDescribedatainmemoryorinfile(描述内存或文件中的数据,生成内存数据或文件数据的概要)
注意:
第一,变量名保证没有歧义的情况下可以使用缩写,或使用缩写通配符(~)代替省略部分,例如displ~;
第二,可以指定一系列的变量,如变量1-变量n
usestates,clear
describe,numbers(变量按顺序编号,变量名前面加上数字序号)
describe,fullnames(完整变量名)
describestateregionmedianmarriagedivorce(变量列表,注意此处用到了缩写)
例2:
usecensus,clear
describepop*(通配符*)
describestateregionpop18p(stat或po都是错误的)
例3:
describeusingstates
例4:
useauto,clear
describe(显示报告,内存数据未改变)
describe,replace(没有报告显示,内存数据已改变,生成包含报告显示信息的新数据集)
d
list
4.[D]edit....................................BrowseoreditdatawithDataEditor
editBrowseoreditdatawithDataEditor(利用数据编辑器浏览或修改数据)(可应用条件语句:
if和in)
edit操作汇总:
Modes三种模式:
1.编辑模式;
2.浏览模式;
3.过滤模式(包含条件语句:
inrange;
ifexp)
Thecurrentobservationandcurrentvariable了解当前的观测值和当前变量
Assigningvaluelabelstovariables为变量指定值标签
Changingvaluesofexistingcells修改已有值
Addingnewvariables增加新变量
Addingnewobservations增加新观测值
Copyingandpasting复制和粘贴
Loggingchanges工作日志的改变
5.[D]list................................................Listvaluesofvariables
listListvaluesofvariables(列表显示变量值。
可应用条件语句:
if/in;
by前缀语句)
例:
useauto,clear
listin1/2
listmakempgweightdisplforeignin46/55,sepby(foreign)(分类显示)
listmakempgweightdisplforeignin46/55,dividersep
(2)abbreviate(12)(指定垂直线、水平线和变量名称缩写方式)
listforeignin51/55,nolabel(显示数字代码而不是标签值)
6.[D]label...................................................Manipulatelabels
labelManipulatelabels(标签操作)
labeldata"
1978AutomobileData"
labelvariableforeign"
Cartype"
labeldefinerepair1"
verypoor"
2"
poor"
3"
medium"
4good5"
verygood"
labelvaluesrep78repair
tabulaterep78
tabulaterep78,nolabel
numlabel,add(添加前缀数码)
numlabelrepair,remove(删除前缀数码)
numlabel,addmask("
[#]"
)(修改前缀数码)
tabulaterep78
usehbp4,clear
describe
labeldefineyesno0"
no"
1"
yes"
(定义值标签yesno)
labeldir(列出全部已定义的值标签的名称)
labellist(列出全部已定义的值标签的名称和内容)
labeldefineyesno2maybe(错误提示)
labeldefineyesno2maybe,add(正确,增加标签)
labeldefineyesno2maybe,modify(正确,modify可以替代add)
labellistyesno
labeldefineyesno2"
don'
tknow"
add(错误提示)
modify(正确,modify除了增加还有修改值标签功能)
labellistyesno
"
modify(删除指定标签的内容)
labeldropyesno(删除单个标签)
labellist
labeldrop_all(删除全部标签)
labeldefineyesno1"
2no
labelcopyyesnoyesnomaybe(复制值标签)
labeldefineyesnomaybe3maybe,add
labellist
labelsaveyesnomaybeusingynfile(保存值标签)
typeynfile.do(显示程序文件)
usesurvey,clear
labellist
runynfile(运行程序文件:
自动给新文件添加值标签)
7.[D]rename..................................................Renamevariable
renameRenamevariable(变量重命名)
renamerep78repair
8.[D]renamegroup....................................Renamegroupsofvariables
renamegroupRenamegroupsofvariables(变量组重命名)
renameoldnew
rename(old1old2...)(new1new2...)
renameold1old2...,upper¦
lower¦
proper(全部大写¦
全部小写¦
首字母大写)
rename*,lower(所有变量小写)
9.[D]varmanage..................Managevariablelabels,formats,andotherproperties
varmanageManagevariablelabels,formats,andotherproperties(管理变量标签,格式和其他属性)
10.[D]sort...........................................................Sortdata
sortSortdata(数据升序排序)
sortmpgweight
listmakempgweightin1/8
11.[D]gsort........................................Ascendinganddescendingsort
gsortAscendinganddescendingsort(升序和降序)(与sort的区别:
sort只能升序)
gsortprice
listmakepricein1/10(10个最低价)
gsort-price
listmakepricein1/10(10个最高价)
gsort-make
listmakein1/10(字符变量排序)
(注意gsort和sort的区别)
usebp3,clear
gsortidtime
listidtimebp
gsortid-time
sortid-time
(每个病人的最低血压和最高血压)
egenlo_bp=min(bp),by(id)(方法1)
egenhi_bp=max(bp),by(id)
browse
gsortidbp(方法2)
byid:
genlo_bp1=bp[1]
gsortid-bp
genhi_bp1=bp[1]
list,sepby(id)
(略:
正向和反向累积分布)
setobs100(方法1)
generatex=rnormal()
cumulx,gen(cum)
setobs100(方法2:
正向累积)
sortx
byx:
gencum=_Nif_n==1
replacecum=sum(cum)
replacecum=cum/cum[_N]
gsort-x(错误提示)
byx:
genrcum=_Nif_n==1
replacercum=sum(rcum)
replacercum=rcum/rcum[_N]
gsort-x,gen(revx)(方法2:
反向累积)
byrevx:
12.[D]inspect............................Displaysimplesummaryofdata’sattributes
inspectDisplaysimplesummaryofdata’sattributes(显示数据属性的简单概要:
by前缀语句)
命令描述:
不同于概要统计命令summarize或tabulate,inspect报告负数、零和正数的数目;
整数和非整数的数目;
唯一值和缺失值的数目;
以及一个小的直方图。
它的目的不是分析而是
快速熟悉未知的数据。
usebobsdata,clear
inspectregion
labellistcenreg
tabulateregion
usecensus,clear
inspectregion
usecitytemp,clear
inspecttempjan
13.[D]codebook...........................................Describedatacontents
codebookDescribedatacontents(描述数据内容,不加参数或指定一个或几个变量)(对于连续型变量,显示均值、标准差、以及10%、25%,50%,75%,90%分位数。
对于分类变量,得到一个频数表。
如果变量的唯一值个数是9个以下,codebook命令判断为分类变量,因此报告一个频数表;
如果变量的唯一值个数是10个以上,判断为连续型变量,报告描述性统计表)
useeduc3,clear
codebookfipsdivision,all
codebook,compact
usefunnyvar,clear
codebook
codebook,problems
compress(数据压缩)
replacecity=trim(city)(删除字符串变量的前缀和后缀空格)
replacecountry=trim(country)
replaceplanet=trim(planet)
replacetime=round(time)(四舍五入)
replacevar=destring(var)(字符型变量转数值型变量)
replacevar=substr(var,x,y)(提取字符串函数,x起始字节,y提取字符长度)
encode字符变量,gen(新数值变量)作用:
将字符型变量转化为数值型变量
egennobs=rownonmiss(varlist)
dropifnobs==0(去掉变量的缺失值)
14.[D]datatypes....................................Quickreferencefordatatypes
datatypesQuickreferencefordatatypes(数据类型)
存储类型(精度更高,取值范围更大)所占字节
byte1
int2
long4
float4
double8
存储类型最大长度(字符)所占字节
str111
str222
str244244244
15.[D]missingvalues.............................Quickreferenceformissingvalues
missingvaluesQuickreferenceformissingvalues(缺失值的快速参考)
.默认形态,系统缺失值
.a.b.c…….z扩展缺失值
(空的)字符缺失值
.<
.a<
.b<
…<
.z在数值中最大
在字符中最小
二、创建和删除变量
1.[D]clear......................................................Clearmemory
命令:
clear(清除内存)
usebpwide
listin1/5
replacebp_after=145in3
listin1/5(第三个观测值的bp_after的值已经改变,需要强调的是改变的是内存数据,而不是硬盘数据)
(假设我们打算改变第四个观测值而不是第三个观测值的bp_after的值.最容易的方法就是重新clear)
clear
replacebp_after=145in4
2.[D]compress.........................................Compressdatainmemory
compressCompressdatainmemory(压缩内存中的数据)
compress
3.[D]generate................................Createorchangecontentsofvariable
generate/replaceCreateorchangecontentsofvariable(创建新变量或更改已有变量的内容)(可使用前缀by命令)
usegenxmpl1,clear
generateage2=age^2(age2已经定义)
replaceage2=age^2
usegenxmpl2,clear
list
generatelastname=word(name,2)
(指定变量类型)
usegenxmpl3,clear
generateintage2=age^2
(指定if/in条件语句)
generateintage2=age^2ifage>
30
例5:
usegenxmpl4,clear
replaceodd=5in3或(replaceodd=5ifodd==-8)
4.[D]drop.........................................Dropvariablesorobservations
drop/keepEliminatevariablesorobservations(删除或保留变量或观测值。
ifin;
by前缀语句)(drop和keep是不可逆的。
一旦删除观测值,就无法再次读取它们,只能重新读取原始数据集。
)
usecensus11,clear
droppop*
dropmarriagedivorcemrgratedvc