insheet using d1.txt, clear
输入数据时候指定变量名称:insheet price weight length using d11.txt, clear
infile v1 v2 v3 using d21.txt, clear
infile str30 v1 int v2 int v3 int v4 str10 v5 ///
using d2.txt, clear
infile str30 v1 int v2 int v3 int v4 str10 v5 using d3.txt, clear
use "D:\stata11\ado\Examples\XTFiles\invest2.dta", clear
sysuse auto, clear
要求“xml表格”的格式的
xmluse d1.xml, doctype(excel) clear firstrow
clear是为了将前面的那个数据给清掉,只留下对调后的数据
指定时间变量
xtset
xpose命令也适用于面板数据资料
help dta_manuals
use http://www.stata-press.com/data/r9/educ99gdp.dta,clear
-Stat/Transfer- 软件:快捷地在不同软件数据格式之间转换
-usespss-: 将 SPSS 格式的数据导入 STATA
通常只有在初次导入数据时我们需要保存之,此后的处理都在do-file中进行,只需保存do-file即可。
save d3.dta, replace
全部:outfile using myauto, wide replace
注:wide可解除文本格式80字符每行的限制
导出部分变量:outfile price-trunk foreign using myauto, wide replace
-outsheet-命令:导出为 -Tab- 分隔的文本文件
outsheet price wei len using myauto, replace
xmlsave auto, doctype(excel) replace
-outdat-命令:导出为.spss, .rats, .limdep格式
点击文件-导出-选择导出格式
英文字母、数字或_组成,至多不超过32个
“_”不建议,因为很多stata默内部的变量都是“_“开头
describe,可以简写为des
详细一点:describe, detail
recast int gear_ratio, force
force强制四舍五入(因为变量gear_ratio中有小数点后两位的数据)
精简资料的存储结构:compress
list price, sep(10) //sep(10)表示表格显示的时候每隔10行打一个横线
list price in 1/30, sep(0) //sep(0)表示不打横线
sort rep78 //意思是根据rep78做一个排序
list make price rep78 in 1/20, sepby(rep78)//sepby(rep78)根据"rep78"分组来打横线
list price weight length, noobs //noobs:指不像上面几行那样在表格前面显示编号,更有利于复制粘贴到excel
list price weight length, noobs clean //比上面那行,连表格都没了
str18 文字型变量,每个观察值占据18个空格
%-18s 靠左列印于屏幕上;若 %18s,则靠右列印;
若 %~18s, 则居中列印
%8.0g 在 `8.0' 的原则下,以尽量多的有效位数列出
%6.2f 总共占6个空格,小数位占两个空格
lable data "这是一份汽车价格资料"
label var foreign "汽车产地(1 国外;2 国内)"
label define repair 1 "好" 2 "较好" 3 "中" 4 "较差" 5 "差"
label values 变量名 标签名 //将变量值和标签联系起来
labelbook
note: Wang:请确认-rep78-变量中缺漏值的原因
note weight: Su, 注意,该变量与length高度共线性!
-lookfor-
修改变量格式
会显示的更详细
会显示缺漏值
会绘出直方图
table foreign rep78, c(mean price) f(%9.2f) center row col//table命令的优势
tabstat price weight length, s(mean sd p25 med p75 min max) c(s) f(%6.2f) by(foreign)
col(s)可以简写为c(s),可以让行和列变换一下;可以把列表选中,右击,选择copy table,就可以把他复制到word文档中去
tabexport turn trunk length using results.txt, s(count mean sd) by(foreign) replace format(%3.0f %9.2f)
说明:format() 选项与 s() 选项相对应
加上normal之后还会附加与该变量N(u,s2)参数相同的正态分布图
对数转换后往往更符合正态分布
离散变量的直方图必须附加 discrete 选项,可以让图形更加美观一些
histogram grade, discrete
kdensity 变量
twoway scatter 变量1 变量2//twoway表示画二维图,scatter表示画散点图
graph matrix 变量1 变量2 变量3 变量4
graph matrix可以画4个以上变量之间的散点图
command varlist [if] [in] [ , options]
[if] [in] 用于限制样本范围
[options] “可选项”,增加了命令的弹性
"[ ]" 为可选项,可以不填,但不在[]中的内容都必须填写
整个命令“裸露”的逗号只有一个,此前为命令主体,此后为选项;虽然选项中可能有子选项,但子选项前的逗号并未“裸露”
sum 多个变量
*可以表示任何长度的字母或数字
?只能替代“一个”长度的字母或数字
第10-20个观察值之间的观察值
倒数·····
sum wage hours if race==1
等于
不等于
sum wage if (race==2)&(married==1)
且
sum wage if (race==2)|(married==1)
或
大于等于
适用选项
==; >; <; >=; <=; !=; ~=
与
或
+,-,*,/,^
字节型
一般整数型
长整数型
8位有效数字
16位有效数字
表示该变量最多包括#个字符
每个汉字占用两个字符
可简写为gen
事先指明变量类型是个不错的习惯
如:gen price2 = price^2
取对数
开根号
取整,拿掉小数点后的那些数
取整,拿掉小数点后的那些数
[x]+1
rename
renvars price weight length / p wei len
renvars p-wei, postfix(_new)
renvars mpg , prefix(old_)
如:replace bad = 1 if (rep78>3)
但是会让缺漏值也=1,因为stata默认缺漏值>任何一个自然数
解决方式:replace bad=. if (rep78==.)
replace make="宝马 320i" if (make=="BMW 320i")
可删除一个变量、一组变量,特定区间的观察值,满足特定条件的观察值
删除内存中的所有变量
无论执不执行命令,都不会显示错误
如capture drop price2
dropvars price2 wlratio bad2
cap drop price2
cap drop wlratio
cap drop bad2
写不完整,没法删;写完整了才可以删除变量
order price weight length foreign
order trunk, before(weight)
order _all, alpha
clonevar foreign_c = foreign
把已有变量标签,数字-文字对应表等所有内容都复制过去
拆分后的变量还会有变量标签
默认升序
gen nag_wage = -wage
sort nag_wage
gsort -wage
gsort wage, gen(numb)
记录分析过程
capture log close:把打开的log文件关掉;
-log using 文件名称.log, text replace: text表示以文本形式进行记录,replace表示把原来的那个文件替换掉
-log close:只记录中间的部分,记录到此为止
log2html mylog, replace title("标题") // 转换 log --> 网页
shellout mylog.html // 打开网页
还可以设定网页风格
hyperlog mylog.do mylog01.log, replace
是stata命令集合
一篇文章的实证分析过程,我们通常将数据分析工作写在do文档中
适用doedit命令可以打开do文件
gen z = z + y is better than gen z=z+y
gen z = x^2 is better than gen z = x ^ 2
gen t = hours + minutes/60 + seconds/3600
is better than
gen t = hours + minutes / 60 + seconds / 3600
list price if (foreign==1) & (rep78>3)
is better than
list price if foreign==1&rep78>3
sum price weight /* 第二种注释方式 */
gen x = 5 // 第三种注释方式
twoway (scatter price weight) ///
(lfit price weight), ///
title("散点图和线性拟合图")
twoway (scatter price weight) /*
*/ (lfit price weight), /*
*/ title("散点图和线性拟合图")
#delimit ;
twoway (scatter price wei)
(lfit price wei),
title("散点图和线性拟合图");
#delimit cr
这是强制改变stata的默认的回车键的断行方式
以#delimit后面的;为断行方式
完成后用#delimit cr恢复系统默认的断行方式
一个主文件,下设 N 个子文件,分别处理某一部分分析工作
保存在同一个文件夹下
将文字置于 " " 或 `" "' (适用于中间有“”的)之间
颜色1:red green yellow white
dis in green "I like stata!"
as text(绿色)| as result(黄色)| as error(红色)| as input(白色)
dis as result "Stata is Good !"
display _col(12) "Stata is good"
跳过 # 格开始列印
从第 # 行开始列印
下次列印解着列印而无须从起一行
重复列印 # 次
doedit L1_do2htm_test.do // 无需执行
do2htm L1_do2htm_test, replace // 将 do 文件及其 log 结果转换为 html 网页
stata与excel、word、latex的亲密接触
logout, save(filename) word(excel,tex) [options]: ///
输出统计表格或列示矩阵的命令
-pwcorr_a-命令由 Arlion 编写(会显示显著水平)
可以后续追加
既可以呈现结果(去掉.csv, replace),也可以输出(为excel)
esttab m1 m2 m3, ar2 compress nogap ///
star(* 0.1 ** 0.05 *** 0.01) ///
b(%6.3f) brackets p
呈现 p-value,置于 "[]" 中
修改显著水平,紧凑的方式呈现结果
esttab m1 m2 m3 using myout.csv, replace ///
compress nogap nonotes ///
addnotes("*** 1% ** 5% * 10%" "" "")
(1) -esttab- 在输出Excel文档时,标注的限制水平不好看,故修改之
(2) -addnotes()- 选项中的后两个 "" 是空两行的意思,便于后续追加
(3)后续追加:把replace换成append
logout, save(filename) word [options]: ///
esttab ……
-help-
search panel data, net
", net"可以搜索网络上的相关信息
比hsearch搜索的更细
类似search命令,但是可以进一步搜索到网络上面的信息
view search panel data, net // 新开窗口显示检索结果
view browse http://www.stata.com/support/statalist/faq
view browse http://www.stata.com/statalist/
view browse http://www.pinggu.org/bbs/forum-67-1.html
sysdir // 显示当前系统目录的设定
pwd // 当前工作路径
-findit-命令:模糊查询
-ssc-命令:安装(卸载)来源于 ssc 的命令 ssc describe b // 列示以 -b- 开头的所有命令,可为 a-z,以及 "_"
ssc des winsor //看wensor命令的描述
ssc install winsor, replace
view net from "http://www.stata-journal.com/"
Stata Technical Bulletin(STB) 相关文档
net from "http://www.stata.com/stb/"
ado
单用:呈现本机上已经安装的外部命令
-adoupdate-
略
查找文件
删除文件
查看指定的ado文档
编辑指定的ado文档
打开其他软件(-txt-, -word-, -excel-)的文件
shellout 完整文件名
dir // 显示当前目录下的所有文件
dir *.txt // 显示后缀为 ".txt" 的所有文件
dir xt* // 显示以 "xt" 开头的所有文件
lall // 列示所有文件
ldta // 列示 .dta 数据文件
lado // 列示 .ado 文件
-cdout-(cd文件) 命令:打开当前工作路径所在的文件夹
略
F1 help
F2 #review;
F3 describe; (*)
F7 save
F8 use
Ctrl+D 执行(Do)选中的命令 (*)
Ctrl+R 运行程序(Run) (*)
Ctrl+F 在do-editor中搜索特定的关键词
Ctrl+O 打开do文档
Ctrl+N 新建do文档
Ctrl+S 保存do文档 (*)
Ctrl+G 跳转到第#行 (*)
Ctrl+Shift+Y 选中光标所在的行
Ctrl+Y 删除光标所在的行
Ctrl+F2 定义小节标签
Shift+F2 跳转到上一个小节标签
F2 跳转到下一个小节标签
仅适用于do-editor
提前把东西保存在do文件中,大多数情况下都不需要保存
exit
exit, clear