STATA最常用命令大全
- 格式:doc
- 大小:41.50 KB
- 文档页数:8
stata
save命令
FileSave 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 "E:\教学\上机\ex3-2.dta", clear
l
x0 x1 g
1. 2450 1450 2
2. 2100 2400 2
3. 2300 3800 2
4. 1590 4200 2
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 3
4.6 6
4. 6 66 28.0 9
命令
. drop _all
. sort bh
. save "E:\教学\MPH上机\ex3-5.dta",replace
file E:\教学\MPH上机\ex3-5.dta saved
. sort bh
结果
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 变量名
例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(%)