invF(dfl,df2,p) /*自由度为dfl、df2的F分布的分位数函数,即F(dfl,df2,f)
的反函数。*/
invFtail(dfi,df2,p) /*自由度为dfl、df2的F分布的上分位数函数,即
Ftail(dfl,df2,f) 的反函数。*/
e.g.
di F(10,5,4.74) //0.95010421 di invF(10,5,0.95) //4.7350631 di Ftail(10,5,4.74) //0.04989579 di invFtail(10,5,0.05) //4.7350631
chi2(df,x) //自由度为df的?2分布的累积分布函数
chi2tail(df,x) /*自由度为df的?2分布的生存函数,chi2tail(df,x)=1-chi2(df,x)*/ invchi2(df,p) /*自由度为df的?2分布的分位数函数,chi2(df,x)的反函数。*/ invchi2tail(df,p) //自由度为df的?2分布的上分位数函数 e.g.
di chi2(10,16.8) //0.92109172 di invchi2(10, 0.921091) //16.799926 di chi2tail(10, 16.8) //0.07890728 di invchi2tail(10, 0.07891) //16.79992
uniform() //产生(0,1)内的均匀分布的伪随机数。
invnormal(uniform()) /*产生均值为0、标准差为1的标准正态分布随机数,
?+?×invnorm(uniform())产生均值为?标准差为?。*/
? 特殊函数
sign(x) //符号函数sign(x)。x>0时取1,x<0时取-1,x=0时取0。
int(x) /*取整函数。去掉x的小数部分,得到整数。int(x+0.5)是对x四舍五入取整,
int(x+sign(x)/2)产生与x最近的一个整数。*/ sum(x) //累加函数,缺失值(missing value)当0处理。 max(x1,x2, 值。*/ min(x1,x2,值。*/
group(#) /*分组函数。将数据分成大小近似相等的??#??个组。分别给予组编号
1,
,?。其中??#??(当??#??的值大于观测个数时,不连续)???为向上,xn) /*最小值函数。获得x1,x2,
,xn中的最小值,忽略缺失
,xn) /*最大值函数。获得x1,x2,
,xn中的最大值,忽略缺失
21
取整函数。比如#=4.1,则将数据分为5组。通常,??#??的值需比观测的个数小。需与generate结合使用*/
e.g. set obs 10
g a=group(2) //将10个观测平均分为2组,每组5个观测。 ge a1=group(20) //将10个观测平均为20组。此时有些组没有观测。
group(varlist) /*分组函数。根据varlist的变量,生成分组变量。需与egen结合使
用。*/
e.g.
egen agegrp = group(age) /*将相同的age分为一组,并按age从小到大的顺序对各
组赋值,分别为1、2
。*/
float(x) //浮点转换函数。将x转换成浮点表示法。
8. Stata的帮助系统与学习资源
? 常用的帮助命令
help regress // 用于官方命令
search unit root, net
hsearch \ // 搜索help文档中的内容
findit treatment effect // 从网络上搜索,类似于search treatment effect, all
? 外部命令的下载
? 通过模糊搜索下载
通过findit命令搜索关键词,然后点击进行下载。例如findit esttab可以看到:
22
点击其中的st0085_1,可以看到
按照提示点击“click here to install”即可以下载该外部命令。
? 通过ssc下载
23
ssc是Statistical Software Components的缩写,是Boston College Archive 所提供的相关软件包和文件,网址是http://www.repec.org。有大量的Stata外部命令来自于ssc,常用的命令有: ssc whatsnew
ssc describe b // 列示以 -b- 开头的所有命令 ssc describe x ssc des esttab ssc des ivreg2
ssc install ivreg2, replace ? 查询已安装的外部命令
ado
ado, find(ivreg2)
mypkg mypkg xt* which ivreg2 ? 外部命令的更新
adoupdate
adoupdate ivreg2, update
? 主要网络资源
Stata website: http://www.Stata.com
Sata resources: http://www.Stata.com/links/resources1.html
Stata journal: http://www.Stata.com/support/faqs/res/sj.html
Stata library: http://www.ats.ucla.edu/stat/Stata/library/
Statalist archive: http://www.hsph.harvard.edu/cgi-bin/lwgate/STATALIST/archives/
Stata FAQs: http://www.Stata.com/support/faqs/
Stata statistics FAQs: http://www.Stata.com/support/faqs/stat/
Stata listserver: http://www.Stata.com/support/Statalist/
Stata discussion list: Statalist@hsphsun2.harvard.edu
24
9. 课后练习
练习题1
1. 导入class.csv数据集;
2. 将v1-v13分别命名为“学号、姓名、培养类别、学院、系所、年级、专业、班级、校区、选课成功标志、教学班号、学年度、学期”各个中文名的拼音首字母,例如“学号”为“xh”,“选课成功标志”为“xkcgbz”。
3. 为上述变量添加标签,标签即为上述中文名称; 4. 将所有缺失值转化为数据999; 5. 删去存在缺失值的变量。 练习题2
1. 请从“中经网统计数据库”(详见学院图书馆数据库)下载你所在省份自1980年-2010年的以下数据:国内生产总值、人口数、居民消费价格指数,将其转化为dta数据文件,命名为你的学号;
2. 确认数据中包含年度、国内生产总值、人口数、居民消费价格指数四个变量,并将其分别命名为year、gdp、pop、cpi;
3. 生产国内生产总值的年度增长率序列,命名为gdp_gr; 4. 将cpi数据减去100,并替换原来的值;
5. 用gdp_gr减去上述新生成的cpi数据,得到一个近似的实际GDP增长率数据,记为gdp_gr2;
6. 以year为横轴,gdp_gr2为纵轴,画出两个变量的折线图,图的标题为“1980-2010年某省实际GDP增长率变化图”; 7. 计算人口数的年度均值和标准差。
25