
stata基本命令.doc
17页stata基本命令+实例+数据+结果--必看,经典2009-08-25 12:29Stata 常用命令save命令 FileSave As例1. 表1.为某一降压药临床试验数据,试从键盘输入Stata,并保存为Stata格式文件 STATA数据库的维护 排序SORT 变量名1 变量名2 ……变量更名rename 原变量名 新变量名STATA数据库的维护删除变量或记录drop x1 x2 /* 删除变量x1和x2drop x1-x5 /* 删除数据库中介于x1和x5间的所有变量(包括x1和x5)drop if x<0 /* 删去x1<0的所有记录 drop in 10/12 /* 删去第10~12个记录 drop if x==. /* 删去x为缺失值的所有记录 drop if x==.|y==. /* 删去x或y之一为缺失值的所有记录drop if x==.&y==. /* 删去x和y同时为缺失值的所有记录drop _all /* 删掉数据库中所有变量和数据STATA的变量赋值 用generate产生新变量generate 新变量=表达式generate bh=_n /* 将数据库的内部编号赋给变量bh。
generate group=int((_n-1)/5)+1 /* 按当前数据库的顺序,依次产生5个1,5个2,5个 3……直到数据库结束generate block=mod(_n,6) /* 按当前数据库的顺序,依次产生1,2,3,4,5,0generate y=log(x) if x>0 /* 产生新变量y,其值为所有x>0的对数值log(x),当x<=0时,用缺失值代替egen产生新变量set obs 12egen a=seq() /*产生1到N的自然数egen b=seq(),b(3) /*产生一个序列,每个元素重复#次egen c=seq(),to(4) /*产生多个序列,每个序列从1到#egen d=seq(),f(4)t(6) /*产生多个序列,每个序列从#1到#2encode 字符变量名,gen(新数值变量名)作用:将字符型变量转化为数值变量STATA数据库的维护保留变量或记录 keep in 10/20 /* 保留第10~20个记录,其余记录删除keep x1-x5 /* 保留数据库中介于x1和x5间的所有变量(包括x1和x5),其余变量删除keep if x>0 /* 保留x>0的所有记录,其余记录删除STATA数据库的维护替换已存在的变量值replace 变量=表达式replace bolck=6 if block==0 /* 将block=0的数全部替换为6。
replace z=. if z<0 /* 将所有小于0的z值用缺失值代替replace age = 25 in 17 /* 将第17条记录中的变量age替换为25for var x* : replace X=0 if X==. /* 将所有第一个字母为x的变量替换为0,如果该变量的值为缺失值纵向连接数据库Ex3-3.dta: x0 x11. 3550 24502. 2000 24003. 3000 18004. 3950 32005. 3800 3250use "E:\教学\上机\ex3-2.dta", clearl x0 x1 g1. 2450 1450 22. 2100 2400 23. 2300 3800 24. 1590 4200 2append using E:\教学\上机\ex3-3.dtal x0 x1 g1. 2450 1450 22. 2100 2400 23. 2300 3800 24. 1590 4200 25. 3550 2450 .6. 2000 2400 .7. 3000 1800 .8. 3950 3200 .9. 3800 3250 .横向联接数据库Ex3-5.dta: bh y0 y1 x01. 1 35 79.2 22. 3 45 47.4 83. 4 52 34.6 64. 6 66 28.0 9命令. drop _all. use E:\教学\MPH上机\ex3-5.dta. sort bh. save "E:\教学\MPH上机\ex3-5.dta",replacefile E:\教学\MPH上机\ex3-5.dta saved. use E:\教学\MPH上机\ex3-4.dta. sort bh. merge bh using E:\教学\MPH上机\ex3-5.dta结果 bh x0 x1 y0 y1 _merge1. 1 12 24 35 79.2 32. 2 15 26 . . 13. 3 16 49 45 47.4 34. 4 18 57 52 34.6 35. 5 20 68 . . 16. 6 9 . 66 28 2列数据接龙Stack 变量名,into(新变量名)|group(#) [clear wide]示例统计描述及区间估计 定量资料的一般描述均数、标准差、百分位数、中位数summarize [变量名] [, detail ] 统计描述及区间估计百分位数centile [变量名] [, centile(# [# ...]) cci normal meansd level(#) ] 统计描述及区间估计 定性资料的一般描述按照分类变量给出频数和构成比tabulate 变量名例2. 有三组(group)患者,男女(sex)若干人,sex=1表示男性,sex=0表示女性。
测得其血红蛋白浓度(x1,%)和红细胞计数(x2,万/mm3),资料存入c:\mydata\ex2.dta试对其进行描述见ex5-2. use c:\mydata\ex2. tab group. tab sex. tab group, sum(x1) . tab group, sum(x2)统计描述及区间估计可信区间的估计 ci 变量 [, level(#) binomial poisson exposure(观察数变量) by(分组变量) total ]cii 观察数 均数 标准差 [, level(#) ] level(#) /* 指定可信度,缺失时为95(%) by(分组变量) /* 指定按分组变量分别估计均数的可信区间total /* 指定除按分组变量估计可信区间外,还对整个数据估计,仅用于指定了by(分组变量)时. use c:\mydata\ex2 . sort group /* 在用by(分组变量)前,必须对分组变量排序. ci x1 x2, by(group)STATA的作图作图命令GRAPHgraph [变量名] [, 图形类型 通用选择项 特殊选择项]图形类型histogram /* 直方图,为缺省值。
oneway /* 一维散点图twoway /* 二维散点图、线图matrix /* 二维散点图阵bar /* 条图、百分条图pie /* 圆(饼)图box /* 箱式图star /* 星形图STATA的作图作图命令GRAPH常用选项bin(#) /* 将数据分几组,缺省为5freq /* 指定纵轴用频数表示,否则为频率normal /* 给直方图加上相应正态曲线xlab/ylab/[(#,……,#)] /*指定坐标轴的界点b2/l2[(“字符串”)] /*指定坐标轴的副标题STATA的作图如何利用STATA绘制频数分布图? 例 130名14岁女孩身高资料 gra x,bin(10) freq normal xlab(124,128,132,136,140,144,148,152,156,160,164) ylab(5,10,15,20,25,30,35,40)数值变量资料的描述均数、几何均数、中位数、百分位数极差、四分位数间距、方差、标准差 变异系数对称分布 均数±标准差偏态分布 中位数±四分位数间距数值变量资料的描述means [变量名]summarize [变量名] [, detail ] centile [变量名] [, centile(#) ] 其他选项detail /* 详细描述,缺失时为简单描述centile(#) /* 指定需要计算的百分位数某市1997年12岁男童120人的身高(cm)资料如下sum xsum x,dsum x if x<140sum x if x<140,dcentile xcentile x,centile(25,50,75)例有五份血清的抗体效价为 1:10, 1:20, 1:40, 1:80,。












