求助:统计方面
<P>各位朋友:</P><P> 谁能告知有关STATA 方面的教材或讲义的信息吗?</P> <FONT face=黑体 color=#000080 size=5> </FONT><P align=center>第一章 Stata 概貌</P><FONT face=黑体 color=#0000ff size=4><P>§1.1 Stata的功能、特点和背景</P></FONT><FONT face=System><P align=justify>Stata</FONT><FONT face=宋体>是一个用于分析和管理数据的功能强大又小巧玲珑的实用统计分析软件,由美国计算机资源中心(</FONT><FONT face=System>Computer Resource Center</FONT><FONT face=宋体>)研制。从</FONT><FONT face=System>1985</FONT><FONT face=宋体>至</FONT><FONT face=System>1998</FONT><FONT face=宋体>的十四年时间里,已连续推出</FONT><FONT face=System>1.1</FONT><FONT face=宋体>,</FONT><FONT face=System>1.2</FONT><FONT face=宋体>,</FONT><FONT face=System>1.3</FONT><FONT face=宋体>,</FONT><FONT face=System>1.4</FONT><FONT face=宋体>,</FONT><FONT face=System>1.5</FONT><FONT face=宋体>,……及</FONT><FONT face=System>2.0</FONT><FONT face=宋体>,</FONT><FONT face=System>2.1</FONT><FONT face=宋体>,</FONT><FONT face=System>3.0</FONT><FONT face=宋体>,</FONT><FONT face=System>3.1</FONT><FONT face=宋体>,</FONT><FONT face=System>4.0</FONT><FONT face=宋体>,</FONT><FONT face=System>5.0</FONT><FONT face=宋体>,</FONT><FONT face=System>6.0</FONT><FONT face=宋体>等多个版本,通过不断更新和扩充,内容日趋完善。它同时具有数据管理软件、统计分析软件、绘图软件、矩阵计算软件和程序语言的特点,又在许多方面别具一格。</FONT><FONT face=System>Stata</FONT><FONT face=宋体>融汇了上述程序的优点,克服了各自的缺点,使其功能更加强大,操作更加灵活、简单,易学易用,越来越受到人们的重视和欢迎。</P></FONT><FONT face=System><P align=justify>Stata</FONT><FONT face=宋体>的突出特点是只占用很少的磁盘空间,输出结果简洁,所选方法先进,内容较齐全,制作的图形十分精美,可直接被图形处理软件或字处理软件如</FONT><FONT face=System>WORD</FONT><FONT face=宋体>等直接调用。</P></FONT><P><FONT face=黑体 color=#008080>一、 Stata的数据管理能力</FONT></P><FONT face=System><OL><LI><P align=justify>Stata</FONT><FONT face=宋体>的数据管理空间受计算机的操作系统和计算机扩展内存的影响。对</FONT><FONT face=System>640k</FONT><FONT face=宋体>内存的微机,</FONT><FONT face=System>3.1</FONT><FONT face=宋体>版本的</FONT><FONT face=System>Stata</FONT><FONT face=宋体>可以管理</FONT><FONT face=System>2400</FONT><FONT face=宋体>个记录×</FONT><FONT face=System>99</FONT><FONT face=宋体>个变量,并随计算机扩展内存的增加而增加;对</FONT><FONT face=System>4.0</FONT><FONT face=宋体>的</FONT><FONT face=System>WINDOWS</FONT><FONT face=宋体>版本,</FONT><FONT face=System>Stata</FONT><FONT face=宋体>可以管理</FONT><FONT face=System>4800</FONT><FONT face=宋体>个记录×</FONT><FONT face=System>99</FONT><FONT face=宋体>个变量;对</FONT><FONT face=System>WINDOWS 95</FONT><FONT face=宋体>下的</FONT><FONT face=System>5.0</FONT><FONT face=宋体>版本,可根据计算机的配置情况设置变量数和记录数,如</FONT><FONT face=System>32M</FONT><FONT face=宋体>扩展内存的计算机,可处理</FONT><FONT face=System>2</FONT><FONT face=宋体>千万个数据。变量数和记录数可以互相交易(</FONT><FONT face=System>trade</FONT><FONT face=宋体>),即减少记录数可以增加变量数,减少变量数可以增加记录数。</P><LI><P align=justify>可以将分组变量转换成指示变量</FONT><FONT face=System>(</FONT><FONT face=宋体>哑变量</FONT><FONT face=System>)</FONT><FONT face=宋体>,将字符串变量映射成数字代码。</P><LI><P align=justify>可以对数据文件进行横向和纵向链接,可以将行数据转为列数据,或反之。</P><LI><P align=justify>可以恢复、修改执行过的命令。</P><LI><P align=justify>可以利用数值函数或字符串函数产生新变量。</P><LI><P align=justify>可以从键盘或磁盘读入数据。</P></LI></OL></FONT><FONT face=黑体><P><FONT color=#008080>二、 Stata的统计功能</FONT></P></FONT><FONT face=System><P align=justify>Stata</FONT><FONT face=宋体>的统计功能很强,除了传统的统计分析方法外,还收集了近</FONT><FONT face=System>20</FONT><FONT face=宋体>年发展起来的新方法,如</FONT><FONT face=System>Cox</FONT><FONT face=宋体>比例风险回归,指数与</FONT><FONT face=System>Weibull</FONT><FONT face=宋体>回归,多类结果与有序结果的</FONT><FONT face=System>logistic</FONT><FONT face=宋体>回归,</FONT><FONT face=System>Poisson</FONT><FONT face=宋体>回归、负二项回归及广义负二项回归,随机效应模型等。具体说,</FONT><FONT face=System>Stata</FONT><FONT face=宋体>具有如下统计分析能力:</P><OL><LI><P align=justify>数值变量资料的一般分析:参数估计,t检验,单因素和多因素的方差分析,协方差分析,交互效应模型,平衡和非平衡设计,嵌套设计,随机效应,多个均数的两两比较,缺项数据的处理,方差齐性检验,正态性检验,变量变换等。</P><LI><P align=justify>分类资料的一般分析:参数估计,列联表分析</FONT><FONT face=System>(</FONT><FONT face=Symbol>?</FONT><FONT face=System> <SUP>2</SUP></FONT><FONT face=宋体>检验,列联系数,确切概率</FONT><FONT face=System>)</FONT><FONT face=宋体>,流行病学表格分析等。</P><LI>等级资料的一般分析:秩变换,秩和检验,秩相关等。 <LI><P align=justify>相关与回归分析:简单相关,偏相关,典型相关,以及多达数十种的回归分析方法,如多元线性回归,逐步回归,加权回归,稳键回归,二阶段回归,百分位数</FONT><FONT face=System>(</FONT><FONT face=宋体>中位数</FONT><FONT face=System>)</FONT><FONT face=宋体>回归,残差分析、强影响点分析,曲线拟合,随机效应的线性回归模型,等。</P><LI><P align=justify>危险度分析:条件和非条件的</FONT><FONT face=System>logistic</FONT><FONT face=宋体>回归,多类结果与有序结果的</FONT><FONT face=System>logistic</FONT><FONT face=宋体>回归,</FONT><FONT face=System>Probit</FONT><FONT face=宋体>回归,及其他广义线性模型,随机效应的</FONT><FONT face=System>logistic</FONT><FONT face=宋体>回归,随机效应的</FONT><FONT face=System>Poisson</FONT><FONT face=宋体>回归,等。</P><LI><P align=justify>生存分析:基线生存曲线的估计、相对危险度的估计,</FONT><FONT face=System>Kaplan-Meier</FONT><FONT face=宋体>生存曲线、寿命表分析,对数秩检验,</FONT><FONT face=System>Mantel-Haenszel</FONT><FONT face=宋体>检验,</FONT><FONT face=System>Wilcoxon-Gehan</FONT><FONT face=宋体>检验,</FONT><FONT face=System>Cox</FONT><FONT face=宋体>比例风险模型,正态截尾及</FONT><FONT face=System>Tobit</FONT><FONT face=宋体>回归,指数回归和</FONT><FONT face=System>Weibull</FONT><FONT face=宋体>回归,等。</P><LI><P align=justify>其它方法:质量控制,整群抽样的设计效率,诊断试验评价,</FONT><FONT face=System>kappa</FONT><FONT face=宋体>,等。</P></LI></OL></FONT><FONT face=黑体><P><FONT color=#008080>三、 Stata的作图功能</FONT></P></FONT><FONT face=宋体><P align=justify>Stata的作图模块,主要提供如下八种基本图形的制作: 直方图(histogram),条形图(bar), 百分条图(oneway),百分圆图(pie),散点图(twoway),散点图矩阵(matrix),星形图(star),分位数图。这些图形的巧妙应用,可以满足绝大多数用户的统计作图要求。在有些非绘图命令中,也提供了专门绘制某种图形的功能,如在生存分析中,提供了绘制生存曲线图,回归分析中提供了残差图等。详见第五章。</P></FONT><FONT face=黑体><P><FONT color=#008080>四、 Stata的矩阵运算功能</FONT></P></FONT><FONT face=宋体><P align=justify>矩阵代数是多元统计分析的重要工具,</FONT><FONT face=System>Stata</FONT><FONT face=宋体>提供了多元统计分析中所需的矩阵基本运算,如矩阵的加、积、逆、</FONT><FONT face=System>Cholesky </FONT><FONT face=宋体>分解、</FONT><FONT face=System>Kronecker</FONT><FONT face=宋体>内积等;还提供了一些高级运算,如特征根、特征向量、奇异值分解等;在执行完某些统计分析命令后,还提供了一些系统矩阵,如估计系数向量、估计系数的协方差矩阵等。</P><P align=justify>尽管</FONT><FONT face=System>Stata</FONT><FONT face=宋体>的容量最大只容许</FONT><FONT face=System>400</FONT><FONT face=Symbol>?</FONT><FONT face=System> 400</FONT><FONT face=宋体>的矩阵</FONT><FONT face=System>(</FONT><FONT face=宋体>默认为</FONT><FONT face=System>40</FONT><FONT face=Symbol>?</FONT><FONT face=System> 40)</FONT><FONT face=宋体>,用它来完成日常工作中的统计分析显然不现实,但用它来做一些练习,提高多元统计分析的教学效率,无疑是很有帮助。详见第十八章。</P></FONT><FONT face=黑体><P>五、 Stata的程序设计功能</P></FONT><FONT face=System><P align=justify>Stata</FONT><FONT face=宋体>是一个统计分析软件,但它也具有很强的程序语言功能,这给用户提供了一个广阔的开发应用的天地,用户可以充分发挥自己的聪明才智,熟练应用各种技巧,真正做到随心所欲。事实上,</FONT><FONT face=System>Stata</FONT><FONT face=宋体>的</FONT><FONT face=System>ado</FONT><FONT face=宋体>文件</FONT><FONT face=System>(</FONT><FONT face=宋体>高级统计部分</FONT><FONT face=System>)</FONT><FONT face=宋体>都是用</FONT><FONT face=System>Stata</FONT><FONT face=宋体>自己的语言编写的。下面这段程序是笔者自行编写的,用于产生</FONT><FONT face=System>n</FONT><FONT face=宋体>个参数为</FONT><FONT face=Symbol>?</FONT><FONT face=宋体> 的</FONT><FONT face=System>Poisson</FONT><FONT face=宋体>分布的随机数。</P></FONT><TABLE 2px outset; BORDER-TOP: 2px outset; BORDER-LEFT: 2px outset; BORDER-BOTTOM: 2px outset" cellSpacing=0 cellPadding=0 width=581 border=0><TR><TD vAlign=top width="43%"><FONT face=System><P align=justify></FONT><FONT face=System color=#0000ff size=1>prog define rp</FONT></P></TD><TD vAlign=top width="57%"><FONT face=System size=1><P align=justify><FONT color=#808080>/* </FONT></FONT><FONT face=宋体 color=#808080 size=1>定义程序名</FONT></P></TD></TR><TR><TD vAlign=top width="43%"><FONT face=System size=1><P align=justify><FONT color=#0000ff>set obs `2’</FONT></FONT></P></TD><TD vAlign=top width="57%"><FONT face=System size=1><P align=justify><FONT color=#808080>/* </FONT></FONT><FONT face=宋体 color=#808080 size=1>定义数据库的最大记录数</FONT></P></TD></TR><TR><TD vAlign=top width="43%"><FONT face=System size=1><P align=justify><FONT color=#0000ff>set seed `3’</FONT></FONT></P></TD><TD vAlign=top width="57%"><FONT face=System size=1><P align=justify><FONT color=#808080>/* </FONT></FONT><FONT face=宋体 color=#808080 size=1>设置随机数种子,</FONT></P></TD></TR><TR><TD vAlign=top width="43%"><FONT face=System size=1><P align=justify><FONT color=#0000ff>gen rp=.</FONT></FONT></P></TD><TD vAlign=top width="57%"><FONT face=System size=1><P align=justify><FONT color=#808080>/* </FONT></FONT><FONT color=#808080><FONT face=宋体 size=1>定义变量</FONT><FONT face=System size=1>rp</FONT><FONT face=宋体 size=1>,用于存放</FONT><FONT face=System size=1>Poisson</FONT><FONT face=宋体 size=1>分布随机数</FONT></FONT></P></TD></TR><TR><TD vAlign=top width="43%"><FONT face=System size=1><P align=justify><FONT color=#0000ff>local lamda0=exp(`1’)</FONT></FONT></P></TD><TD vAlign=top width="57%"><FONT face=System size=1><P align=justify><FONT color=#808080>/* </FONT></FONT><FONT color=#808080><FONT face=宋体 size=1>计算</FONT><FONT face=System size=1>lamda0=exp(</FONT><FONT face=Symbol size=1>?</FONT><FONT face=System size=1> )</FONT></FONT></P></TD></TR><TR><TD vAlign=top width="43%"><FONT face=System size=1><P align=justify><FONT color=#0000ff>local j=1</FONT></FONT></P></TD><TD vAlign=top width="57%"><FONT face=System size=1><P align=justify><FONT color=#808080>/* j=1</FONT></FONT></P></TD></TR><TR><TD vAlign=top width="43%"><FONT face=System size=1><P align=justify><FONT color=#0000ff>while `j’</FONT></FONT><FONT color=#0000ff><FONT face="宋体, MS Song" size=1><</FONT><FONT face=System size=1>`2’+1 {</FONT></FONT></P></TD><TD vAlign=top width="57%"><FONT face=System size=1><P align=justify><FONT color=#808080>/* </FONT></FONT><FONT color=#808080><FONT face=宋体 size=1>对</FONT><FONT face="宋体, MS Song" size=1> </FONT><FONT face=System size=1>j<n</FONT><FONT face=宋体 size=1>循环,</FONT><FONT face=System size=1>j</FONT><FONT face=宋体 size=1>表示产生的第</FONT><FONT face=System size=1>j</FONT><FONT face=宋体 size=1>个</FONT><FONT face=System size=1>Poisson</FONT><FONT face=宋体 size=1>分布随机数</FONT></FONT></P></TD></TR><TR><TD vAlign=top width="43%"><FONT face=System size=1><P align=justify><FONT color=#0000ff> local i=1</FONT></FONT></P></TD><TD vAlign=top width="57%"><FONT face=System size=1><P align=justify><FONT color=#808080>/* i=1</FONT></FONT></P></TD></TR><TR><TD vAlign=top width="43%"><FONT face=System size=1><P align=justify><FONT color=#0000ff> local r0=1</FONT></FONT></P></TD><TD vAlign=top width="57%"><FONT face=System size=1><P align=justify><FONT color=#808080>/* r0=1</FONT></FONT></P></TD></TR><TR><TD vAlign=top width="43%"><FONT face=System size=1><P align=justify><FONT color=#0000ff> while `i’</FONT></FONT><FONT color=#0000ff><FONT face="宋体, MS Song" size=1>></FONT><FONT face=System size=1>0 {</FONT></FONT></P></TD><TD vAlign=top width="57%"><FONT face=System size=1><P align=justify><FONT color=#808080>/* i</FONT></FONT><FONT face=宋体 color=#808080 size=1>循环</FONT></P></TD></TR><TR><TD vAlign=top width="43%"><FONT face=System size=1><P align=justify><FONT color=#0000ff> local r1=uniform()</FONT></FONT></P></TD><TD vAlign=top width="57%"><FONT face=System size=1><P align=justify><FONT color=#808080>/* r1=</FONT></FONT><FONT face=宋体 color=#808080 size=1>均匀分布的随机数</FONT></P></TD></TR><TR><TD vAlign=top width="43%"><FONT face=System size=1><P align=justify><FONT color=#0000ff> local r0=`r1’*`r0’</FONT></FONT></P></TD><TD vAlign=top width="57%"><FONT face=System size=1><P align=justify><FONT color=#808080>/* r0=r1*t0</FONT></FONT></P></TD></TR><TR><TD vAlign=top width="43%"><FONT face=System size=1><P align=justify><FONT color=#0000ff> if `r0’</FONT></FONT><FONT color=#0000ff><FONT face="宋体, MS Song" size=1>< </FONT><FONT face=System size=1>`lamda0’</FONT><FONT face=宋体 size=1>{</FONT></FONT></P></TD><TD vAlign=top width="57%"><FONT face=System size=1><P align=justify><FONT color=#808080>/* </FONT></FONT><FONT color=#808080><FONT face=宋体 size=1>如果</FONT><FONT face="宋体, MS Song" size=1> </FONT><FONT face=System size=1>r0<lamda0</FONT></FONT></P></TD></TR><TR><TD vAlign=top width="43%"><FONT face=System size=1><P align=justify><FONT color=#0000ff> local n0= `i’-1</FONT></FONT></P></TD><TD vAlign=top width="57%"><FONT face=System size=1><P align=justify><FONT color=#808080>/* n0= i-1</FONT></FONT></P></TD></TR><TR><TD vAlign=top width="43%"><FONT face=System size=1><P align=justify><FONT color=#0000ff> local i=-1</FONT></FONT></P></TD><TD vAlign=top width="57%"><FONT face=System size=1><P align=justify><FONT color=#808080>/* i=-1</FONT></FONT></P></TD></TR><TR><TD vAlign=top width="43%"><FONT face=System size=1><P align=justify><FONT color=#0000ff> }</FONT></FONT></P></TD><TD vAlign=top width="57%"><FONT face=System><P><FONT color=#808080> </FONT></FONT></P></TD></TR><TR><TD vAlign=top width="43%"><FONT face=System size=1><P align=justify><FONT color=#0000ff> local i= `i’+1</FONT></FONT></P></TD><TD vAlign=top width="57%"><FONT face=System size=1><P align=justify><FONT color=#808080>/* i</FONT></FONT><FONT face=宋体 color=#808080 size=1>循环</FONT></P></TD></TR><TR><TD vAlign=top width="43%"><FONT face=System size=1><P align=justify><FONT color=#0000ff> }</FONT></FONT></P></TD><TD vAlign=top width="57%"><FONT face=System><P><FONT color=#808080> </FONT></FONT></P></TD></TR><TR><TD vAlign=top width="43%"><FONT face=System size=1><P align=justify><FONT color=#0000ff> quiet replace rp=`n0’if _n==`j’</FONT></FONT></P></TD><TD vAlign=top width="57%"><FONT face=System size=1><P align=justify><FONT color=#808080>/* </FONT></FONT><FONT color=#808080><FONT face=宋体 size=1>第</FONT><FONT face=System size=1>j</FONT><FONT face=宋体 size=1>个</FONT><FONT face=System size=1>rp</FONT><FONT face=宋体 size=1>=</FONT><FONT face=System size=1>n0</FONT></FONT></P></TD></TR><TR><TD vAlign=top width="43%"><FONT face=System size=1><P align=justify><FONT color=#0000ff> local j= `j’+1</FONT></FONT></P></TD><TD vAlign=top width="57%"><FONT face=System size=1><P align=justify><FONT color=#808080>/* j</FONT></FONT><FONT face=宋体 color=#808080 size=1>循环</FONT></P></TD></TR><TR><TD vAlign=top width="43%"><FONT face=System size=1><P align=justify><FONT color=#0000ff> }</FONT></FONT></P></TD><TD vAlign=top width="57%"><FONT face=System><P><FONT color=#808080> </FONT></FONT></P></TD></TR><TR><TD vAlign=top width="43%"><FONT face=System size=1><P align=justify><FONT color=#0000ff>end</FONT></FONT></P></TD><TD vAlign=top width="57%"><FONT face=System><P><FONT color=#808080> </FONT></FONT></P></TD></TR></TABLE><FONT face=黑体 size=4><P><FONT color=#0000ff>§1.2 Stata的界面</FONT></P></FONT><FONT face=System><P align=center><img src="http://life.fudan.edu.cn/973huanjing/sstar/coach/soft/stata/image45.gif"></FONT></P><P align=left><FONT face=宋体>Windows版本的Stata的界面上有一级菜单行,二级菜单窗口,命令窗口,结果窗口,图形窗口,变量名窗口,已执行过的命令窗口,帮助窗口等。窗口的大小、位置可根据用户需要进行调整。</P></FONT><FONT face=宋体 size=1></FONT><FONT face=黑体 size=4><P><FONT color=#0000ff>§1.3 进入和退出Stata</FONT></P></FONT><FONT face=黑体><P><FONT color=#008080>一、 DOS版本的Stata的进入和退出</FONT></P></FONT><FONT face=宋体><P>前已述及,要将Stata程序所在的路径放入autoexec.bat中,我们可在DOS下任何目录位置进入Stata,但我们假定d:\盘上进行。</P><P> </FONT><FONT face=System>D:\><U>Stata</P></U></FONT><FONT face=宋体><P align=justify> 进入Stata后,屏幕显示Stata的版本号,公司所在地等信息,Dos版本下的Stata即出现圆点提示符。这时即可键入Stata的各种命令。</P><P align=justify>若已在Stata状态读入了数据,并且已将数据按Stata指令存盘,或读入的数据虽经分析,但对数据及数据结构等未作任何修改,则只须键入:</P></FONT><FONT face=System><P align=justify>. <U>exit</P></U></FONT><FONT face=宋体><P>即可退出Stata。</P><P align=justify>如未将数据按Stata指令存盘,或读入的数据或数据结构已被修改(Stata的有些命令会自动修改数据结构,如按某变量排序等),这时,Stata将拒绝退出Stata状态。若确实不需要存盘而退出Stata,可键入:</P></FONT><FONT face=System><P>. <U>e</FONT><FONT face=宋体>,</FONT><FONT face=System>clear</P></U><P>(e</FONT><FONT face=宋体>为</FONT><FONT face=System>exit</FONT><FONT face=宋体>的简写</FONT><FONT face=System>)</FONT><FONT face=宋体>即可强行退出</FONT><FONT face=System>Stata</FONT><FONT face=宋体>。或分两步,即先放弃所有数据,</P><P>.<U>drop _all</P></U><P>再退出</FONT><FONT face=System>Stata</FONT><FONT face=宋体>,</P></FONT><FONT face=System><P>. <U>exit</P></U></FONT><FONT face=黑体><P><FONT color=#008080>二、 WINDOWS版本的Stata的进入和退出</FONT></P></FONT><P><FONT face=宋体>在桌面上双击</FONT><FONT face=System>Wstata</FONT><FONT face=宋体>的图标:</FONT></P><P align=center><FONT face=System><img src="http://life.fudan.edu.cn/973huanjing/sstar/coach/soft/stata/image46.gif"></FONT></P><FONT face=宋体><P>即可进入</FONT><FONT face="宋体, MS Song"> </FONT><FONT face=System>Stata</FONT><FONT face=宋体>,并出现命令窗口。</P><P align=justify>在</FONT><FONT face=System>Stata</FONT><FONT face=宋体>的菜单中选</FONT><FONT face="宋体, MS Song"> </FONT><FONT face=System>File ,</FONT><FONT face=宋体>再选</FONT><FONT face="宋体, MS Song"> </FONT><FONT face=System>exit ,</FONT><FONT face=宋体>如数据已经存盘,则可退出</FONT><FONT face=System>Stata</FONT><FONT face=宋体>。如数据未存盘,则</FONT><FONT face=System>Stata</FONT><FONT face=宋体>给出如下提示:“</FONT><FONT face=System>Data has changed without being saved. Do you really want to exit?</FONT><FONT face=宋体>”</FONT><FONT face=System>(</FONT><FONT face=宋体>数据已改变,但未存盘,是否真的要退出?</FONT><FONT face=System>)</FONT><FONT face=宋体>如要退出,则按</FONT><FONT face="宋体, MS Song"> </FONT><FONT face=宋体>确定</FONT><FONT face="宋体, MS Song"> </FONT><FONT face=宋体>,否则按</FONT><FONT face="宋体, MS Song"> </FONT><FONT face=宋体>取消</FONT><FONT face="宋体, MS Song"> </FONT><FONT face=宋体>。将数据存盘后再退出。</P><P>在</FONT><FONT face=System>WINDOWS</FONT><FONT face=宋体>下,亦可用</FONT><FONT face=System>DOS</FONT><FONT face=宋体>的命令退出</FONT><FONT face=System>Stata</FONT><FONT face=宋体>。</P></FONT><FONT face=黑体 size=4><P><FONT color=#0000ff>§1.4 Stata的数据输入与储存</FONT></P></FONT><FONT face=System><P align=justify>Stata</FONT><FONT face=宋体>可以从键盘输入数据,也可以从文件读入数据。</FONT><FONT face=System>WINDOWS</FONT><FONT face=宋体>下的</FONT><FONT face=System>Stata</FONT><FONT face=宋体>还可以用</FONT><FONT face=System>Stata</FONT><FONT face=宋体>的数据编辑器输入、修改和管理数据。这里简单介绍如何从键盘输入数据,有关更详细的数据读入方式将在第三章中讲述。</P></FONT><FONT face=黑体><P><FONT color=#008080>一、 从键盘输入数据</FONT></P><P><FONT color=#ff00ff>例</FONT></FONT><FONT face=Arial color=#ff00ff>1.1</FONT><FONT face=宋体> <FONT color=#ff00ff>某实验得到如下数据</FONT></P></FONT><P align=center><CENTER><TABLE cellSpacing=1 cellPadding=1 width=226 border=0><TR><TD vAlign=top width="17%"><FONT face=System><P>x</FONT></P></TD><TD vAlign=top width="17%"><FONT face=System><P>1</FONT></P></TD><TD vAlign=top width="17%"><FONT face=System><P>2</FONT></P></TD><TD vAlign=top width="17%"><FONT face=System><P>3</FONT></P></TD><TD vAlign=top width="17%"><FONT face=System><P>4</FONT></P></TD><TD vAlign=top width="17%"><FONT face=System><P>5</FONT></P></TD></TR><TR><TD vAlign=top width="17%"><FONT face=System><P>y</FONT></P></TD><TD vAlign=top width="17%"><FONT face=System><P>4</FONT></P></TD><TD vAlign=top width="17%"><FONT face=System><P>5.5</FONT></P></TD><TD vAlign=top width="17%"><FONT face=System><P>6.2</FONT></P></TD><TD vAlign=top width="17%"><FONT face=System><P>7.7</FONT></P></TD><TD vAlign=top width="17%"><FONT face=System><P>8.5</FONT></P></TD></TR></TABLE></CENTER><FONT face=宋体><P align=center>进入</FONT><FONT face=System>Stata</FONT><FONT face=宋体>后,操作过程如下,其中划线部分为操作者输入部分。</P><P>. <U>input x y</P></U><P 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 100%"><FONT size=3> x y</FONT></P></FONT><P 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 100%"><FONT face=宋体 size=3>1. </FONT><U><FONT face=宋体 size=3>1 4</FONT></P></U><P 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 100%"><FONT face=宋体 size=3>2. </FONT><U><FONT face=宋体 size=3>2 5.5</FONT></P></U><P 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 100%"><FONT face=宋体 size=3>3. </FONT><U><FONT face=宋体 size=3>3 6.2</FONT></P></U><P 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 100%"><FONT face=宋体 size=3>4. </FONT><U><FONT face=宋体 size=3>4 7.7</FONT></P></U><P 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 100%"><FONT face=宋体 size=3>5. </FONT><U><FONT face=宋体 size=3>5 8.5</FONT></P></U><P 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 100%"><FONT face=宋体 size=3>6. </FONT><U><FONT face=宋体 size=3>end</FONT></P></U><FONT face=宋体><P>用list命令可以看到输入的数据。</P></FONT><FONT face=宋体 size=1><P>. <U>list</P></U></FONT><P 0px; MARGIN-BOTTOM: 0px"><FONT face=宋体 size=3> x y</FONT></P><P 0px; MARGIN-BOTTOM: 0px"><FONT face=宋体 size=3>1. 1 4</FONT></P><P 0px; MARGIN-BOTTOM: 0px"><FONT face=宋体 size=3>2. 2 5.5</FONT></P><P 0px; MARGIN-BOTTOM: 0px"><FONT face=宋体 size=3>3. 3 6.2</FONT></P><P 0px; MARGIN-BOTTOM: 0px"><FONT face=宋体 size=3>4. 4 7.7</FONT></P><P 0px; MARGIN-BOTTOM: 0px"><FONT face=宋体 size=3>5. 5 8.5</FONT></P><FONT face=黑体><P>二、 保存数据</P></FONT><FONT face=宋体><P align=justify>为了方便以后应用,输入</FONT><FONT face=System>Stata</FONT><FONT face=宋体>的数据应存盘。如欲将上述数据存入</FONT><FONT face=System>d:\mydata\</FONT><FONT face=宋体>子目录中,文件名为</FONT><FONT face=System>ex1.dta</FONT><FONT face=宋体>,命令为:</P><P>. <U>save d:\mydata\ex1</P></U><P>file d:\temp\ex1replace.dta saved</P><P align=justify>该指令在</FONT><FONT face=System>d:</FONT><FONT face=宋体>盘的</FONT><FONT face=System>mydata</FONT><FONT face=宋体>子目录中建立了一个名为“</FONT><FONT face=System>ex1.dta</FONT><FONT face=宋体>”的</FONT><FONT face=System>Stata</FONT><FONT face=宋体>格式的数据文件。后缀</FONT><FONT face=System>dta</FONT><FONT face=宋体>是</FONT><FONT face=System>Stata</FONT><FONT face=宋体>内定的数据格式文件。该格式文件只能在</FONT><FONT face=System>Stata</FONT><FONT face=宋体>中用</FONT><FONT face=System>use</FONT><FONT face=宋体>命令打开:</P><P>. <U>use d:\mydata\ex1</P></U><P align=justify>如目标盘及子目录中已有相同文件名的文件存在,则该命令将给出如下信息:</FONT><FONT face=System>file d:\ mydata\ex1.dta already exists</FONT><FONT face=宋体>,告诉用户在该目标盘及子目录中已有相同的文件名存在。如欲覆盖已有文件,则加选择项</FONT><FONT face=System>replace</FONT><FONT face=宋体>。命令及结果如下:</P><P>. <U>save d:\mydata\ex1 , replace</P></U><P>file d:\temp\ex1.dta saved</P><P align=justify>这样,</FONT><FONT face=System>Stata</FONT><FONT face=宋体>在</FONT><FONT face=System>d:</FONT><FONT face=宋体>盘的</FONT><FONT face=System>mydata</FONT><FONT face=宋体>子目录中建立了一个名为“</FONT><FONT face=System>ex1.dta</FONT><FONT face=宋体>”的</FONT><FONT face=System>Stata</FONT><FONT face=宋体>格式数据文件</FONT><FONT face=System>,</FONT><FONT face=宋体>并替换了原有文件。</P></FONT><FONT face=黑体 size=4><P><FONT color=#0000ff>§1.5 Stata的结果文件</FONT></P></FONT><FONT face=宋体><P align=justify> </FONT><FONT face=System>Stata</FONT><FONT face=宋体>在屏幕上显示的运行结果有两种,一种是纯字符型的</FONT><FONT face=System>(</FONT><FONT face=宋体>如方差分析结果,回归分析结果等</FONT><FONT face=System>)</FONT><FONT face=宋体>,一种是图形。</P><P> 若要将操作过程和纯字符型结果记录下来,需事先打开一个</FONT><FONT face=System>log</FONT><FONT face=宋体>文件:</P><P>.<U>log using 文件名</P></U><P align=justify>设结果文件名为</FONT><FONT face=System>result1</FONT><FONT face=宋体>,则</FONT><FONT face=System>Stata</FONT><FONT face=宋体>自动加上后缀“</FONT><FONT face=System>.log</FONT><FONT face=宋体>”</FONT><FONT face=System>,</FONT><FONT face=宋体>亦可由用户自己加上其他后缀。执行该指令后的所有操作指令和文字结果</FONT><FONT face=System>(</FONT><FONT face=宋体>除</FONT><FONT face=System>help</FONT><FONT face=宋体>下显示的结果</FONT><FONT face=System>)</FONT><FONT face=宋体>将记录在结果文件“</FONT><FONT face=System>result1.log</FONT><FONT face=宋体>”中。若执行某一指令后的结果没有必要记录下来,则可事先用指令“</FONT><FONT face=System>log off</FONT><FONT face=宋体>”暂停记录,需要记录时再用“</FONT><FONT face=System>log on</FONT><FONT face=宋体>”继续记录,最后用“</FONT><FONT face=System>log close</FONT><FONT face=宋体>”关闭文件。</P><P align=justify>如果结果文件“</FONT><FONT face=System>result1.log</FONT><FONT face=宋体>”已经存在,用“</FONT><FONT face=System>log using result1</FONT><FONT face=宋体>”不能打开已有文件</FONT><FONT face=System>result1. log</FONT><FONT face=宋体>。如要覆盖文件</FONT><FONT face=System>result1.log</FONT><FONT face=宋体>,则加选择项</FONT><FONT face=System>replace</FONT><FONT face=宋体>。即键入:</P><P align=justify>. <U>log using result1, replace</P></U><P align=justify>如要在其后进行添加,则键入:</P><P align=justify>. <U>log using result1, append</P></U><P align=justify>文件“</FONT><FONT face=System>result1.log</FONT><FONT face=宋体>”可在</FONT><FONT face=System>EDIT</FONT><FONT face=宋体>、</FONT><FONT face=System>PE2</FONT><FONT face=宋体>、</FONT><FONT face=System>WPS</FONT><FONT face=宋体>或</FONT><FONT face=System>WORD</FONT><FONT face=宋体>等字处理软件下编辑、打印,也可在</FONT><FONT face=System>DOS</FONT><FONT face=宋体>下用</FONT><FONT face=System>type</FONT><FONT face=宋体>或</FONT><FONT face=System>print</FONT><FONT face=宋体>命令通过显示器浏览或打印机输出硬拷贝。</P><P align=justify> 若要将图形结果打印下来,需要在绘图指令中加上“</FONT><FONT face=System>saving</FONT><FONT face=宋体>”选择项。例如,画例</FONT><FONT face=System>1.1</FONT><FONT face=宋体>中</FONT><FONT face=System>x</FONT><FONT face=宋体>与</FONT><FONT face=System>y</FONT><FONT face=宋体>的散点图并存入文件“</FONT><FONT face=System>ex1.gph</FONT><FONT face=宋体>”,可用下述指令: </P><P>.<U>graph y x ,c(l) saving(d:\mydata\ex1)</P></U></FONT><FONT face=System><P align=center><img src="http://life.fudan.edu.cn/973huanjing/sstar/coach/soft/stata/image48.gif"></P></FONT><FONT face=宋体><P align=justify>这时屏幕上显示</FONT><FONT face=System>y</FONT><FONT face=宋体>与</FONT><FONT face=System>x</FONT><FONT face=宋体>的散点图,并将被存入</FONT><FONT face=System>d:\mydata\</FONT><FONT face=宋体>子目录中,文件名为“</FONT><FONT face=System>ex1.gph</FONT><FONT face=宋体>”</FONT><FONT face=System>(gph</FONT><FONT face=宋体>是</FONT><FONT face=System>Stata</FONT><FONT face=宋体>内定的图形文件后缀,用户亦可自己定义后缀名</FONT><FONT face=System>)</FONT><FONT face=宋体>。该图形可在</FONT><FONT face=System>Stata</FONT><FONT face=宋体>状态用“</FONT><FONT face="宋体, MS Song"> </FONT><FONT face=System>graph using d:\mydata\ex1</FONT><FONT face=宋体>”重新显示在屏幕上,可在</FONT><FONT face="宋体, MS Song"> </FONT><FONT face=System>File </FONT><FONT face=宋体>的</FONT><FONT face="宋体, MS Song"> </FONT><FONT face=System>Print Graph </FONT><FONT face=宋体>打印,也可用打印命令“</FONT><FONT face=System>gphdot</FONT><FONT face=宋体>”打印。</P></FONT><FONT face=System><P align=justify>DOS</FONT><FONT face=宋体>版本的</FONT><FONT face=System>Stata</FONT><FONT face=宋体>可在</FONT><FONT face=System>DOS</FONT><FONT face=宋体>提示符下用“</FONT><FONT face=System>gphdot</FONT><FONT face=宋体>”</FONT><FONT face="宋体, MS Song"> </FONT><FONT face=宋体>命令打印:</P><P align=justify>D:\MYDATA><U>gphdot ex1.gph</P></U><P>更详细的内容见第五章。</P></FONT><FONT face=黑体 size=4><P><FONT color=#0000ff>§1.6 Stata的操作方式</FONT></P></FONT><FONT face=宋体><P> </FONT><FONT face=System>Stata</FONT><FONT face=宋体>的操作有交互式操作和非交互式操作两种形式。</P></FONT><FONT face=黑体><P><FONT color=#008080>一、 交互式操作</FONT></P></FONT><FONT face=宋体><P align=justify> 在</FONT><FONT face=System>Stata</FONT><FONT face=宋体>状态直接键入指令,每输入一个指令,</FONT><FONT face=System>Stata</FONT><FONT face=宋体>执行一个,这种方式称为交互式操作。</P></FONT><FONT face=黑体><P><FONT color=#ff00ff>例</FONT></FONT><FONT face=Arial>1.2</FONT><FONT face=宋体><FONT color=#ff00ff> 用例1.1数据建立回归方程。</FONT></P><P>.<U>use ex1</P></U><P>.<U>reg y x</U></P></FONT><FONT face=黑体><P><FONT color=#008080>二、 非交互式操作</FONT></P></FONT><FONT face=宋体><P align=justify>若分析内容很多,有时甚至涉及到多个数据库,有几十个甚至成百个分析内容,若仍采取交互式操作,不仅要将许多时间花在等待运算结果上,而且容易漏掉一些主要的分析内容或做一些无益的重复劳动。这时最好在EDIT,PE2,WORD等文字处理下将这些指令写入一个以“do”为扩展名的命令文件(文本格式,即ASCII码),并仔细核对分析内容、命令格式,直至组织数据文件的合理性等,修改好后再在Stata状态执行该命令文件。</P></FONT><FONT face=黑体><P><FONT color=#ff00ff>例</FONT></FONT><FONT face=Arial>1.3</FONT><FONT face=宋体><FONT color=#ff00ff> 用非交互式操作对例1.1数据进行相关和回归分析。</FONT></P><P>第一步,在字处理软件下写入如下指令,并以文件名“ex1.do”存入磁盘d:\mydata\子目录中。</P></FONT><P align=center><CENTER><TABLE 2px outset; BORDER-TOP: 2px outset; MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; BORDER-LEFT: 2px outset; LINE-HEIGHT: 100%; BORDER-BOTTOM: 2px outset" cellSpacing=0 cellPadding=0 width=600 border=0><TR><TD vAlign=center width=244><FONT face=System><P 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 100%"></FONT><FONT face=宋体 color=#0000ff size=2>set more 1</FONT></P></TD><TD 0px" vAlign=center width=348><DIR><P 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 100%"><FONT face=宋体 color=#808080 size=2>/* 指定结果窗口中,当输出结果满一屏后,不再显示--more--,直接显示下一屏</FONT></P></DIR></TD></TR><TR><TD vAlign=center width=244><P 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 100%"><FONT face=宋体 color=#0000ff size=2>log using d:\mydata\ex1.log</FONT></P></TD><TD 0px" vAlign=center width=348><DIR><P 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 100%"><FONT face=宋体 color=#808080 size=2>/* 打开结果文件ex1.log</FONT></P></DIR></TD></TR><TR><TD vAlign=center width=244><P 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 100%"><FONT face=宋体 color=#0000ff size=2>use d:\mydata\ex1.dta</FONT></P></TD><TD 0px" vAlign=center width=348><DIR><P 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 100%"><FONT face=宋体 color=#808080 size=2>/* 调用数据文件d:\mydata\ex1.dta</FONT></P></DIR></TD></TR><TR><TD vAlign=center width=244><P 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 100%"><FONT face=宋体 color=#0000ff size=2>gra y x,saving(d:\mydtata\ex1) </FONT></P></TD><TD 0px" vAlign=center width=348><DIR><P 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 100%"><FONT face=宋体 color=#808080 size=2>/* 作y与x的散点图,并存入d:\mydtata\ex1.gph</FONT></P></DIR></TD></TR><TR><TD vAlign=center width=244><P 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 100%"><FONT face=宋体 color=#0000ff size=2>cor y x</FONT></P></TD><TD 0px" vAlign=center width=348><DIR><P 0px; MARGIN-BOTTOM: 0px; TEXT-INDENT: 0px; LINE-HEIGHT: 100%"><FONT face=宋体 color=#808080 size=2>/* 作y与x的相关</FONT></P></DIR></TD></TR><TR><TD vAlign=center width=244><P 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 100%"><FONT face=宋体 color=#0000ff size=2>reg y x</FONT></P></TD><TD 0px" vAlign=center width=348><DIR><P 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 100%"><FONT face=宋体 color=#808080 size=2>/* 作y与x的回归</FONT></P></DIR></TD></TR><TR><TD vAlign=center width=244><P 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 100%"><FONT face=宋体 color=#0000ff size=2>log close</FONT></P></TD><TD 0px" vAlign=center width=348><DIR><P 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 100%"><FONT face=宋体 color=#808080 size=2>/* 关闭结果文件ex1.log</FONT></P></DIR></TD></TR><TR><TD vAlign=center width=244><P 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 100%"><FONT face=宋体 color=#0000ff size=2>set more 0</FONT></P></TD><TD 0px" vAlign=center width=348><DIR><P 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 100%"><FONT face=宋体 color=#808080 size=2>/* 指定结果窗口中,当输出结果满一屏后,显示-- more--,直到按任意键后,再显示下一屏</FONT></P></DIR></TD></TR></TABLE></CENTER><FONT face=宋体><P align=left>第二步,在</FONT><FONT face=System>Stata</FONT><FONT face=宋体>状态键入:</P><P>.<U>do d:\mydtata\ex1.do</P></U></FONT><FONT face=System><P align=justify>Stata</FONT><FONT face=宋体>将首先打开一个名为“</FONT><FONT face=System>ex1.log</FONT><FONT face=宋体>”的结果文件,然后打开数据文件“</FONT><FONT face=System>ex1.dta</FONT><FONT face=宋体>”,画散点图并将图形存入文件“</FONT><FONT face=System>ex1.gph</FONT><FONT face=宋体>”,进行相关分析、回归分析,最后关闭结果文件。此时,</FONT><FONT face=System>Stata</FONT><FONT face=宋体>执行这些命令是自动的,不间断的。</P></FONT><FONT face=黑体 size=4><P><FONT color=#0000ff>§1.7 Stata的帮助功能</FONT></P></FONT><FONT face=System><P>Stata</FONT><FONT face=宋体>具有很强的帮助功能。帮助功能的使用有两种方式。</P><P align=justify>一是在</FONT><FONT face=System>Stata</FONT><FONT face=宋体>状态,需要了解某个指令的格式和功能,这时只需键入</FONT><FONT face=System>help(</FONT><FONT face=宋体>或按功能键</FONT><FONT face=System>F1)</FONT><FONT face=宋体>,然后空一格键入该指令即可。例如,若需了解回归分析的指令格式,则:</P><P>. <U>help regress</P></U><P align=justify>则可得到帮助。</P><P align=justify>二是利用菜单,在Stata的菜单上按 Help ,出现帮助窗口。</P></FONT><FONT face=System><P align=center><img src="http://life.fudan.edu.cn/973huanjing/sstar/coach/soft/stata/image49.gif"></FONT></P><P align=justify><FONT face=宋体>此时输入需要帮助的命令关键词,如regress,按 OK 即可得到帮助。</P></FONT><FONT face=System><P align=center><img src="http://life.fudan.edu.cn/973huanjing/sstar/coach/soft/stata/image50.gif"></FONT></P><P align=justify><FONT face=宋体>如需了解Stata的全部命令,可键入help contents,可得到Stata的全部命令及其简单解释;或在帮助窗口按 Contents ,则出现如下的帮助内容窗口。</P><P align=justify>在知道所要帮助的命令时,在命令窗口键入help加命令,即可获得帮助;在不知道所要帮助的命令时,用菜单操作更好。Stata的常用命令见附录。</P><P align=justify>下面以多元线性回归命令为例,介绍Stata的命令的格式。多元线性回归命令为regress,欲得到命令格式,键入help regress即可得到:</P><P 0px; MARGIN-BOTTOM: 0px" align=justify><FONT color=#0000ff> regress ]]</FONT></P><P 0px; MARGIN-BOTTOM: 0px" align=justify><FONT color=#0000ff> [, level(#)</FONT></P><P 0px; MARGIN-BOTTOM: 0px" align=justify><FONT color=#0000ff> beta hascons noconstant noheader eform(string)</FONT></P><P 0px; MARGIN-BOTTOM: 0px" align=justify><FONT color=#0000ff> depname(varname) mse1 ]</FONT></P><P align=justify>命令中,[ ]内为选择项,括号外为必选项。</P><P align=justify>这里介绍命令的公共选择部分,该命令的专用选择项将在相应章节作介绍。</P></FONT><OL><FONT face=System><LI>by varlist</FONT><FONT face=宋体>,是指定按变量</FONT><FONT face=System>varlist</FONT><FONT face=宋体>的取值逐一作多元线性回归。如变量名为</FONT><FONT face=System>group</FONT><FONT face=宋体>,且取值为</FONT><FONT face=System>1</FONT><FONT face=宋体>,</FONT><FONT face=System>2</FONT><FONT face=宋体>,</FONT><FONT face=System>3</FONT><FONT face=宋体>,</FONT><FONT face=System>4</FONT><FONT face=宋体>,则“</FONT><FONT face=System>by group:</FONT><FONT face=宋体>”是指定</FONT><FONT face=System>Stata</FONT><FONT face=宋体>分别按</FONT><FONT face=System>group=1, group=2, group=3</FONT><FONT face=宋体>和</FONT><FONT face=System>group=4</FONT><FONT face=宋体>的观察值分别作</FONT><FONT face=System>4</FONT><FONT face=宋体>个回归方程。在选用该选择项前,要对变量排序,即先执行</FONT><FONT face=System>sort,</FONT><FONT face=宋体>如:</FONT><FONT face=System> <P align=justify>. <U>sort group</U></P><LI>weight</FONT><FONT face=宋体>,是指本命令允许使用加权或频数,有</FONT><FONT face=System></FONT><FONT face=宋体>和</FONT><FONT face=System></FONT><FONT face=宋体>两种形式。</FONT><FONT face=System> <LI>if exp, </FONT><FONT face=宋体>用条件语句指定条件。如,下列条件是合法的:</FONT><FONT face="宋体, MS Song"> </FONT><P 0px; MARGIN-BOTTOM: 0px" align=justify></P><P 0px; MARGIN-BOTTOM: 0px" align=justify><FONT face=宋体 size=2>if group==1 /* 对满足group=1条件的观察值进行分析</FONT></P><P 0px; MARGIN-BOTTOM: 0px" align=justify><FONT face=宋体 size=2>if group>2 /* 对满足group>2条件的观察值进行分析</FONT></P><P 0px; MARGIN-BOTTOM: 0px" align=justify><FONT face=宋体 size=2>if group==1 | group==2 /* 对满足group=1或group=2条件的观察值进行分析</FONT></P><P 0px; MARGIN-BOTTOM: 0px" align=justify><FONT face=宋体 size=2>if group~=3 /* 对满足group不等于3条件的观察值进行分析</FONT></P><P 0px; MARGIN-BOTTOM: 0px" align=justify><FONT face=宋体 size=2>if group==1 & sex==0 /* 对满足group=1,同时sex=0条件的观察值进行分析</FONT></P><P 0px; MARGIN-BOTTOM: 0px" align=justify> </P><FONT face=System><LI>in range</FONT><FONT face=宋体>,指定观察值的范围,对在范围内的观察值作分析。下列语句是合法的:</LI></OL></FONT><P 0px; MARGIN-BOTTOM: 0px" align=justify></P><P 0px; MARGIN-BOTTOM: 0px" align=justify><FONT size=2><FONT face=宋体> in 1/25 /* 对观察值范围为1</FONT><FONT face=System size=1>~</FONT><FONT face=宋体>25号的观察值作分析</FONT></FONT></P><P 0px; MARGIN-BOTTOM: 0px" align=justify><FONT size=2><FONT face=宋体> in 26/44 /* 对观察值范围为26</FONT><FONT face=System size=1>~44</FONT><FONT face=宋体>号的观察值作分析</FONT></FONT></P><P 0px; MARGIN-BOTTOM: 0px" align=justify><FONT size=2><FONT face=宋体> in 26/l /* 对观察值范围为26</FONT><FONT face=System size=1>~</FONT><FONT face=宋体 size=1>最后</FONT><FONT face=System size=1>(last)</FONT><FONT face=宋体>的观察值作分析</FONT></FONT></P><P 0px; MARGIN-BOTTOM: 0px" align=justify><FONT size=2><FONT face=宋体> in 5/l /* 对最后5个观察值进行分析</FONT></FONT></P><P 0px; MARGIN-BOTTOM: 0px" align=justify> </P><FONT face=宋体><P align=justify>这些公共选择项在很多命令中都可选用,本书在介绍各命令时将省去这些公共选择项。</P><P align=justify>另外一个选择项,也可用于很多命令,它就是</FONT><FONT face=System>for</FONT><FONT face=宋体>。例如,在作回归分析时,自变量为</FONT><I><FONT face=System>x</I>1,<I>x</I>2,…,<I>x</I>22</FONT><FONT face=宋体>共</FONT><FONT face=System>22</FONT><FONT face=宋体>变量,而因变量有</FONT><I><FONT face=System>y</I>1,<I>y</I>2,…,<I>y</I>10,<I>z</I>1,…,<I>z</I>5</FONT><FONT face=宋体>共</FONT><FONT face=System>15</FONT><FONT face=宋体>个变量。欲分别建立每个因变量</FONT><I><FONT face=System>yi</I></FONT><FONT face=宋体>和</FONT><I><FONT face=System>zi</I></FONT><FONT face=宋体>与</FONT><I><FONT face=System>x</I>1,<I>x</I>2,…,<I>x</I>22</FONT><FONT face=宋体>的回归,则需要写</FONT><FONT face=System>15</FONT><FONT face=宋体>个命令。而用</FONT><FONT face=System>for</FONT><FONT face=宋体>选择项只需一个命令即可:</P></FONT><FONT face=System><P align=justify>for y1-y10 z1-z5 : regress @ x1-x22</P></FONT><FONT face=宋体><P align=justify>命令中,</FONT><FONT face=System>for </FONT><FONT face=宋体>后面的变量是选定的,</FONT><FONT face=System>regress</FONT><FONT face=宋体>是作回归分析,</FONT><FONT face=System>@</FONT><FONT face=宋体>是替换符,</FONT><FONT face=System>Stata</FONT><FONT face=宋体>自动用</FONT><FONT face=System>for</FONT><FONT face=宋体>语句指定的变量逐一替换作为因变量,而自变量为</FONT><FONT face=System>x1-x22</FONT><FONT face=宋体>。</P><P align=justify>又如,</P></FONT><FONT face=System><P align=justify>for y* : summ @,detail</P></FONT><FONT face=宋体><P align=justify>表示,对以</FONT><FONT face=System>y</FONT><FONT face=宋体>字母开始的变量作详细的统计描述。</FONT></P> <P><TABLE cellSpacing=0 cellPadding=0 width="90%" align=center border=0><TR><TD><P align=center>第一讲 Stata操作入门</P><P align=center>第一节 概况</P><P> Stata最初由美国计算机资源中心(Computer Resource Center)研制,现在为Stata公司的产品,其最新版本为7.0版。它操作灵活、简单、易学易用,是一个非常有特色的统计分析软件,现在已越来越受到人们的重视和欢迎,并且和SAS、SPSS一起,被称为新的三大权威统计软件。</P><P> Stata最为突出的特点是短小精悍、功能强大,其最新的7.0版整个系统只有10M左右,但已经包含了全部的统计分析、数据管理和绘图等功能,尤其是他的统计分析功能极为全面,比起1G以上大小的SAS系统也毫不逊色。另外,由于Stata在分析时是将数据全部读入内存,在计算全部完成后才和磁盘交换数据,因此运算速度极快。</P><P> 由于Stata的用户群始终定位于专业统计分析人员,因此他的操作方式也别具一格,在Windows席卷天下的时代,他一直坚持使用命令行/程序操作方式,拒不推出菜单操作系统。但是,Stata的命令语句极为简洁明快,而且在统计分析命令的设置上又非常有条理,它将相同类型的统计模型均归在同一个命令族下,而不同命令族又可以使用相同功能的选项,这使得用户学习时极易上手。更为令人叹服的是,Stata语句在简洁的同时又拥有着极高的灵活性,用户可以充分发挥自己的聪明才智,熟练应用各种技巧,真正做到随心所欲。</P><P> 除了操作方式简洁外,Stata的用户接口在其他方面也做得非常简洁,数据格式简单,分析结果输出简洁明快,易于阅读,这一切都使得Stata成为非常适合于进行统计教学的统计软件。</P><P> Stata的另一个特点是他的许多高级统计模块均是编程人员用其宏语言写成的程序文件(ADO文件),这些文件可以自行修改、添加和下载。用户可随时到Stata网站寻找并下载最新的升级文件。事实上,Stata的这一特点使得他始终处于统计分析方法发展的最前沿,用户几乎总是能很快找到最新统计算法的Stata程序版本,而这也使得Stata自身成了几大统计软件中升级最多、最频繁的一个。</P><P> 由于以上特点,Stata已经在科研、教育领域得到了广泛应用,WHO的研究人员现在也把Stata作为主要的统计分析工作软件。
</P><P align=center>第二节 Stata操作入门</P><P> 一、Stata的界面</P><P> 图1即为Stata 7.0启动后的界面,除了Windows版本的软件都有的菜单栏、工具栏,状态栏等外,Stata的界面主要是由四个窗口构成,分述如下:</P><P> 1.结果窗口
位于界面右上部,软件运行中的所有信息,如所执行的命令、执行结果和出错信息等均在这里列出。窗口中会使用不同的颜色区分不同的文本,如白色表示命令,红色表示错误信息。</P><P> 2.命令窗口
位于结果窗口下方,相当于DOS软件中的命令行,此处用于键入需要执行的命令,回车后即开始执行,相应的结果则会在结果窗口中显示出来。</P><P> 3.命令回顾窗口
即review窗口,位于界面左上方,所有执行过的命令会依次在该窗口中列出,单击后命令即被自动拷贝到命令窗口中;如果需要重复执行,用鼠标双击相应的命令即可。</P><P> 4.变量名窗口
位于界面左下方,列出当前数据及中的所有变量名称。</P><P> 除以上四个默认打开的窗口外,在Stata中还有数据编辑窗口、程序文件编辑窗口、帮助窗口、绘图窗口、Log窗口等,如果需要使用,可以用Window或Help菜单将其打开。</P><P> <img src="http://www.bioon.com/book/statistics/htm/ruanj/jiangy/images/1.jpg"></P><P>二、数据的录入与储存 </P><P> Stata为用户提供了简捷,但是非常完善的数据接口,熟悉它的用法是使用Stata的第一步,在Stata中读入数据可以有三种方式:直接从键盘输入、打开已有数据文件和拷贝、粘贴方式交互数据。</P><P> (1)从键盘输入数据
在Stata中可以使用命令行方式直接建立数据集,首先使用input命令制定相应的变量名称,然后一次录入数据,最后使用end语句表明数据录入结束。
例1 在某实验中得到如下数据,请在Stata中建立数据集。
观测数据:<EM>X</EM> 1 3 5 7 9 ,<EM>Y</EM> 2 4 6 8 10
解:此处需要建立两个变量<EM>X</EM>、<EM>Y</EM>,分别录入相应数值,Stata中的操作如下,<FONT color=#0000ff>其中划线部分为操作者输入部分</FONT>。
<img src="http://www.bioon.com/book/statistics/htm/ruanj/jiangy/images/2.jpg">
(2)用Stata的数据编辑工具
<img src="http://www.bioon.com/book/statistics/htm/ruanj/jiangy/images/3.jpg">
②数据编辑
Stata 数据编辑器界面:此时进入了数据全屏幕编辑状态。
<img src="http://www.bioon.com/book/statistics/htm/ruanj/jiangy/images/image015.jpg">
图3
在第一列输入数据后,Stata第一列自动命名为var1;在第二列输入数据后,第二列自动命名为var2……依次类推。在输入数据后,双击纵格顶端的变量名栏(如:Var1或Var2处),可以更改变量名,并可以在label栏中注释变量名的含义,点击<img src="http://www.bioon.com/book/statistics/htm/ruanj/jiangy/images/image001.gif">确认(如图4所示)。仍沿用上例,双击观察值所在列顶端的变量名栏,更改变量名为<EM>x</EM>,并在label栏中注明 “7岁男童身高/cm”。
<img src="http://www.bioon.com/book/statistics/htm/ruanj/jiangy/images/4.jpg">
数据输入完毕后,单击<img src="http://www.bioon.com/book/statistics/htm/ruanj/jiangy/images/image002.gif">键确认所输数据,按关闭键 <img src="http://www.bioon.com/book/statistics/htm/ruanj/jiangy/images/image022.jpg">即可退出编辑器。
<img src="http://www.bioon.com/book/statistics/htm/ruanj/jiangy/images/5.jpg">
数据输入完毕后,单击<img src="http://www.bioon.com/book/statistics/htm/ruanj/jiangy/images/image002.gif">认所输数据,按关闭键<img src="http://www.bioon.com/book/statistics/htm/ruanj/jiangy/images/image022.jpg">即可退出编辑器。
(3)拷贝、粘贴方式交互数据
Stata的数据编辑窗口是一个简单的电子表格,可以使用拷贝、粘贴方式直接和EXCEL等软件交互数据,在数据量不大时,这种方式操作极为方便。
例2 现在EXCEL中已录入了三个变量,共五条记录,格式见下图,请将数据读入Stata。
解:首先将EXCEL中的A1-C6全部18个单元格选中,选择菜单编辑è复制,将数据拷贝到剪贴板上;然后切换到Stata,选择菜单Window->Data Editor,打开数据编辑窗口;再选择Edit->Paste,相应的数据就会被直接粘贴如数据编辑窗口中,并且变量名、记录数、变量格式等均会被自动正确设置,见图6和图7。
<img src="http://www.bioon.com/book/statistics/htm/ruanj/jiangy/images/6.jpg">
(4)打开已有的数据文件
Stata能够直接打开的数据文件只能是自身专用格式或者以符号分隔的纯文本格式,后者第一行可以是变量名,分述如下:
①点击图标 <img src="http://www.bioon.com/book/statistics/htm/ruanj/jiangy/images/image031.jpg">,然后选择路径和文件名,可以打开Stata专用格式的数据文件,并且扩展名为.dta。
②打开Dta数据文件:该格式文件是Stata的专用格式数据文件,也使用use命令即可打开,例如要打开数据文件“C:\data1.dta”,则命令为:
. use c:\data1
即扩展名可以省略,如果Stata中已经修改或者建立了数据集,则需要使用clear选项清除原有数据,命令为:
. use c:\data1 , clear
②读入文本格式数据:需要使用insheet命令实现,例如需要读入已建立好的文本格式数据文件“C:\data1.txt”,则命令为:
. insheet using c:\data1.txt
该命令会自动识别第一行是否为变量名,以及变量列间的分隔符是tab、逗号还是其他字符。如果Stata中已经修改或者建立了数据集,则需要使用clear选项清除原有数据,命令为:
. insheet using c:\data1.txt , clear
(5)数据文件的保存
为了方便以后重复使用,输入Stata的数据应存盘。Stata实际上只能将数据存为自身专用的数据格式或者纯文本格式,分述如下:
①点击图标<img src="http://www.bioon.com/book/statistics/htm/ruanj/jiangy/images/image033.jpg">,然后选择路径和文件名,点击<img src="http://www.bioon.com/book/statistics/htm/ruanj/jiangy/images/image003.gif">。
②存为dta格式:可以直接使用文件菜单,也可以使用save命令操作,如欲将上面建立的数据文件存入“C:\”中,文件名为Data1.dta,则命令为:
<FONT color=#0000ff>. save c:\data1</FONT>
file c:\data1.dta saved
该指令将在C盘根目录建立一个名为“data1.dta”的Stata数据文件,后缀dta可以在命令中省略,会被自动添加。该文件只能在Stata中用use命令打开。如所指定的文件已经存在,则该命令将给出如下信息:file c:\data1.dta already exists,告诉用户在该目标盘及子目录中已有相同的文件名存在。如欲覆盖已有文件,则加选择项replace。命令及结果如下:
<FONT color=#0000ff>. save c:\data1.dta , replace</FONT>
file c:\data1.dta saved
3.存为文本格式:需要使用outsheet命令实现,该命令的基本格式如下。
outsheet [变量名列表] using 文件名 [, nonames replace ]
其中变量名列表如果省略,则将全部变量存入指定文件。如欲将上面建立的数据文件存入文本文件“C:\data1.txt”中,则命令为:
<FONT color=#0000ff>. outsheet using c:\data1.txt</FONT>
此时建立的文件data1.txt第一行为变量名,第2-6行为变量值。变量列间用Tab键分隔。如果不希望在第一行存储变量名,则可以使用nonames选项。如果文件已经存在,则需要使用replace选项。
</P></TD></TR></TABLE></P> 我现在用SPSS用得一头雾水地说~ 谢谢3楼的讲解!!!
页:
[1]