stata常用命令模板 下载本文

stata 常用命令

(2012-07-29 17:22:25) 转载▼

标签: 分类: stata 杂谈

save命令

FileSave As

例1. 表1.为某一降压药临床试验数据,试从键盘输入Stata,并保存为Stata格式文件。 STATA数据库的维护 排序

SORT 变量名1 变量名2 …… 变量更名

rename 原变量名 新变量名

STATA数据库的维护 删除变量或记录

drop x1 x2 /* 删除变量x1和x2

drop 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,0。 generate y=log(x) if x>0 /* 产生新变量y,其值为所有x>0的对数值log(x),当x<=0时,用缺失值代替。

egen产生新变量 set obs 12

egen a=seq() /*产生1到N的自然数

egen b=seq(),b(3) /*产生一个序列,每个元素重复#次 egen c=seq(),to(4) /*产生多个序列,每个序列从1到# egen d=seq(),f(4)t(6) /*产生多个序列,每个序列从#1到#2 encode 字符变量名,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替换为25。

for var x* : replace X=0 if X==. /* 将所有第一个字母为x的变量替换为0,如果该变量的值为缺失值 纵向连接数据库 Ex3-3.dta: x0 x1

1. 3550 2450 2. 2000 2400 3. 3000 1800 4. 3950 3200 5. 3800 3250

use \教学\\上机\\ex3-2.dta\ l

x0 x1 g

1. 2450 1450 2 2. 2100 2400 2 3. 2300 3800 2 4. 1590 4200 2

append using E:\\教学\\上机\\ex3-3.dta l

x0 x1 g

1. 2450 1450 2 2. 2100 2400 2 3. 2300 3800 2 4. 1590 4200 2 5. 3550 2450 . 6. 2000 2400 . 7. 3000 1800 . 8. 3950 3200 . 9. 3800 3250 .

横向联接数据库 Ex3-5.dta: bh y0 y1 x0 1. 1 35 79.2 2 2. 3 45 47.4 8 3. 4 52 34.6 6 4. 6 66 28.0 9 命令

. drop _all

. use E:\\教学\\MPH上机\\ex3-5.dta . sort bh

. save \教学\\MPH上机\\ex3-5.dta\file 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 _merge 1. 1 12 24 35 79.2 3 2. 2 15 26 . . 1 3. 3 16 49 45 47.4 3 4. 4 18 57 52 34.6 3 5. 5 20 68 . . 1 6. 6 9 . 66 28 2

列数据接龙

Stack 变量名,into(新变量名)|group(#) [clear wide] 示例

统计描述及区间估计 定量资料的一般描述

均数、标准差、百分位数、中位数 summarize [变量名] [, detail ] 统计描述及区间估计 百分位数

centile [变量名] [, centile(# [# ...]) cci normal meansd level(#) ] 统计描述及区间估计 定性资料的一般描述

按照分类变量给出频数和构成比 tabulate 变量名