Stata 第一章数据输入,存盘和调用文件命令以及数据管理命令
2012-04-17 生物谷 生物谷
本 节 STATA 命 令 摘 要[ [1] ] 输 入 数 据 命 令: 1) input 变量名1 变量名2 … 变量名m ( 各 变 量 数 据 之 间 用 空 格 隔 开, 每 行 一 个 记 录, 最 后 以 end 表 示 结 束) 2)in
本 节 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 逻 辑 表 达 式] ( 变 量 的 缺 省 值 (mining data) 表 达 式 为 . ) |
在STATA 软 件 中 数 据 输 入 通 常 有 三 种 方 式: 键 盘 直 接 输 入, 从 外 部 的 文 本 文 件(ASC 码 文 件) 读 入 数 据 和 在DOS 环 境 下 应 用Transfer 软 件 直 接 把 Fox 或 其 他 格 式 存 盘 的 文 件 转 换 成 Stata 软 件 格 式 的 文 件。
1、 键 盘 输 入 方 式:
命 令 格 式:
input 变量1 变量2 … 变量m
输 入 数 据, 变 量 之 间 用 空 格, 每 个 记 录 一 行 当 数 据 输 完 后, 输 入 end |
例: 应 用 克 矽 平 治 疗 矽 肺 患 者 10 名, 治 疗 前 后 血 红 蛋 白 的 含 量 如 下( 数 据 摘 自 金 丕 焕 主 编 <医 用 统 计 方 法>,pp 37):
血 红 蛋 白 含 量 | |||||
治疗前 |
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 x1 x2 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 x1 x2 using c:\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
或 save c:\user\ex1.dta, replace
· 以 文 本 方 式 存 数 据 文 件:
STATA 命 令:
outfile 变量1 变量2 … 变 量m using 路径]文本数据文件名[,replace]
其 中 子 命 令[,replace] 表 示 覆 盖 现 有 同 目 录 中 与 该 文 本 数 据 文 件 相 同 的 文 件
设 上 述 资 料 已 在STATA 状 态 下 输 入 到 计 算 机 中, 准 备 生 成 一 个 文 本 数 据 文 件 ex1.txt 并 存 入 c:\user , 则:
STATA 命 令:
outfile x1 x2 using c:\user\ex1.txt
若 在 c:\user 中 已 经 有 ex1.txt, 并 打 算 用 当 前STATA 环 境 中 的 数 据 覆 盖 它。 则
outfile x1 x2 using c:\user\ex1.txt,replace
· 调 用 现 有 数 据 文 件( 以STATA 格 式 存 盘 的 文 件, 又 称 STATA 系 统 数 据 文 件)
use [ 路 径] 文 件 名[,clear]
若 当 前 STATA 状 态 已 调 入 数 据, 则 要 调 入 新 的 数 据 时, 需 要 用 clear 子 命 令, 表 示 清 除 原 先 已 在 计 算 机 中 的 数 据。
如: 调 用 在 c:\user 子 目 录 下 的ex1.dta STATA 系 统数 据 文 件, 则:
use c:\user\ex1
若 当 前 状 态 已 有 数 据 在 计 算 机 内, 则:
use c:\user\ex1,clear
注意:use 与 save是一对调用STATA系统数据文件和以STATA系统格式 存盘的命令;infile 和 outfile也是一对调用外部文本数据文件和以 文本文件格式存盘的命令。
· 数据管理命令
产 生 新 的 变 量:STATA 命 令:
gen 新变量名=表达式
例如:当 前 计 算 机 中 正 处 于 STATA 状 态 下, 并 有 二 个 配 对 变 量 x1 和 x2 的 数 据, 因 此 需 要 计 算 两 个 变 量 的 差:x1-x2, 则:
gen x=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 =0 if x<=5
replace x=1 if x>5 & x<=100 [2]
replace x=2 if x>100
[1] 、 方 括 号[ ] 中 的 子 命 令 表 示 可 以 省 略, 但 方 括 号 中 的 子 命 令 是 处 理 一 些 特 殊 情 况 的。
[2] 在 逻 辑 表 达 式 中:“ 等 于” 用 == 表 示;“不 等 于” 用 ~= 表 示; “或” 用 | 表 示;“ 并 且” 用 & 表 示。
本网站所有内容来源注明为“梅斯医学”或“MedSci原创”的文字、图片和音视频资料,版权均属于梅斯医学所有。非经授权,任何媒体、网站或个人不得转载,授权转载时须注明来源为“梅斯医学”。其它来源的文章系转载文章,或“梅斯号”自媒体发布的文章,仅系出于传递更多信息之目的,本站仅负责审核内容合规,其内容不代表本站立场,本站不负责内容的准确性和版权。如果存在侵权、或不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
在此留言
#ATA#
25
#stata#
25
#数据管理#
33