统计211
标题:
Stata教程:数据输入,存盘和调用文件命令以及数据管理命令
[打印本页]
作者:
藤菜
时间:
2011-6-28 22:14
标题:
Stata教程:数据输入,存盘和调用文件命令以及数据管理命令
第一章数据输入,存盘和调用文件命令以及数据管理命令
本节 STATA命令摘要[[1]]
输入数据命令:
1)input
变量名1变量名2…变量名m
(各变量数据之间用空格隔开,每行一个记录,最后以 end 表示结束)
2)infile 变量名1
变量名2 …
变量名m using
文件名
(该文件为文本文件,各变量数据之间用空格隔开,每行一个记录)
存盘命令:
save [路径]文件名[,replace]
(以STATA格式存盘,缺省扩展名为dta,replace表示覆盖同名同路径的文件;也可以在菜单File中选SAVEas或SAVE进行操作)
outfile
using [路径]文件名[,replace]
(以文本格式存盘,缺省扩展名为raw,replace表示覆盖同名同路径的文件)
调用已存的STATA格式文件
use
[路径]文件名[,clear]
(也可以在菜单File中选open进行操作)
产生新变量
gen
新变量名=表达式
修改变量 值
replace 变量名=表达式 [in 范围][if
逻辑表达式]
(变量的缺省值(miningdata)表达式为 .
)
在STATA软件中数据输入通常有三种方式:键盘直接输入,从外部的文本文件(ASC码文件) 读入数据和在DOS环境下应用Transfer软件直接把Fox或其他格式存盘的文件转换成Stata软件格式的文件。
1、键盘输入方式:
命令格式:
input
变量1
变量2 …
变量m
输入数据, 变量之间用空格,每个记录一行
当数据输完后,输入end
例:应用克矽平治疗矽肺患者10名,治疗前后血红蛋白的含量如下(数据摘自金丕焕主编<医用统计方法>,pp37):
血红蛋白含量
治疗前
113
150
150
135
128
治疗后
140
138
140
135
135
治疗前
100
110
120
130
123
治疗后
120
147
114
138
120
在下列STATA操作中用变量x1和x2分别代表治疗前和治疗后。
STATA
数据输入操作命令:
1.
键盘直接输入
input
x1x2
113 140
150 138
150 140
135 135
128 135
100 120
110 147
120 114
130 138
123 120
end
2. 调用外部文本数据文件
如果数据已经用其它软件(如:Foxbase)输入,并已以文本格式生成一个文本数据文件,并且满足上述每个记录一行和两个变量之间用空格分割的格式。
则用STATA命令:
infile
变量1变量2… 变量m
using[路径]文本数据文件名
如:上例数据已以文本方式存在C:\user 子目录中的文件ex1.txt,并满足每个记录一行和两个变量之间用空格分割的格式,则:
STATA 命令:
infile x1x2usingc:\user\ex1.txt
·
以 STATA格式存盘
save ex1
以ex1.dta为文件名在当前目录中存盘。
(因为STATA格式的数据文件的缺省扩展名为.dta)
如果ex1.dta在当前目录中已存在,并且打算把当前数据所存的文件覆盖当前目录中已存在的文件ex1.dta,则:
save ex1,replace
如果打算把ex1.dta文件存入 c:\user子目录中,则
save c:\user\ex1.dta
或 savec:\user\ex1.dta,replace
·
以文本方式存数据文件:
STATA 命令:
outfile变量1变量2… 变量m
using路径]文本数据文件名[,replace]
其中子命令[,replace]表示覆盖现有同目录中与该文本数据文件相同的文件
设上述资料已在STATA状态下输入到计算机 中,准备生成一个文本数据文件ex1.txt并存入 c:\user,则:
STATA命令:
outfilex1x2 usingc:\user\ex1.txt
若 在c:\user中已经有ex1.txt,并打算用当前STATA环境中的 数据覆盖它。则
outfilex1x2usingc:\user\ex1.txt,replace
·
调用现有数据文件(以STATA格式存盘的文件,又称STATA 系统数据文件)
use [路径]文件名[,clear]
若当前STATA状态已调入数据,则要调入新的数据时,需要用clear子命令,表示清除原先已在计算机中的数据。
如:调用 在c:\user子目录下的ex1.dtaSTATA系统数据文件,则:
use
c:\user\ex1
若当前状态已有数据在计算机内,则:
use c:\user\ex1,clear
注意:use与save是一对调用STATA系统数据文件和以STATA系统格式存盘的命令;infile和outfile也是一对调用外部文本数据文件和以文本文件格式存盘的命令。
·数据管理命令
产生新的变量:STATA命令:
gen 新变量名=表达式
例如:当前计算机中正处于STATA状态下,并有二个配对变量 x1和x2的数据,因此需要计算两个变量的差:x1-x2,则:
genx=x1-x2
修改 数据:STATA命令:
replace 变量名= 表达式[if 逻辑表达式][in 范围]
如: 变量x 中所有值为999的数据是缺省资料,现改为STATA 缺省值的记号,所有大于100的数据将改为2;x 小于或等于100 且大于5的所有数据改为1;x 小于或等于5的所有数据为0。
则:
replace
x=. if x==999
replace
x=0if x<=5
replace
5&x<=100[2]
replace
100
[1]、方括号
中的 子命令 表示可以省略,但方括号中的子命令是处理一些特殊情况的。
[2]
在逻辑表达式中:“等于”用 ==表示;“不等于”用 ~=表示;“或”用| 表示;“并且”用 &表示。
欢迎光临 统计211 (http://tj211.com/)
Powered by Discuz! X3.2