Stata连玉君老师2019-初级班答疑0120

初级班助教 共同整理

展金泳(对外经贸)、袁雪倩 (辽宁大学)、王宇桐 (北师大)

更新时间

2019年1月20日
 


(注:文档中的链接可直接点击,一些链接也已经插入词句中~)

安装及资料下载

  1. 如何安装Stata15?

    请查看“A-课件下载和使用说明”文件,下载地址为:

    百度云盘链接:https://pan.baidu.com/share/init?surl=rZ5l16jmcz1-gkdj8pkKKg

    密码:k3qw

  2. Mac系统如何安装?给出的链接中只有exe文件?

    (注:Windows系统请使用问题1中的链接安装)

    百度云盘链接:https://pan.baidu.com/s/1xQygOIHDWsYcw8R6bEIduw#list/path=%2F

    密码:2dtb

  3. 本次培训的软件及数据资料多久可以下载好?下载太慢怎么办?

    正常为一小时左右,具体时间和网速有关系,可以使用下方两种加速器的任意一个。

    下载地址:①http://pandownload.com/

    https://faq.speedpan.com/chapter2/install.html

  4. Mac系统安装后中的stata/ado里面没有personal这个文件夹怎么办?

    自己新建一个名为“personal”的文件夹,然后把PX A 2019a放进去就可以了。

  5. 如果Stata15软件装在C盘可以使用吗?

    可以使用,只需要将连老师所给do文档中部分路径进行简单修改即可。

注:安装和下载有问题可以找助教~

 

命令执行

  1. 在Stata15主界面的执行某一命令行,如第一个命令global...提示invalid syntax错误?

    将语令后的中文注释删除后再在命令窗口执行即可。

    推荐在do文件中选中命令行后执行,具体可见老师给的课件(页码标号第5页,PDF的第7页)。

  2. 如何操作do文档中的命令?

    选中之后点击do文档中的Execute(do)按钮执行选中部分,也可以选中后用快捷键Ctrl+DCtrl+R(静默执行),注意不进行选择直接点击do文档中的Execute(do)按钮会执行整个do文件,中途停止执行可以点击结果窗口上面的叉号×(Break),执行中为红色。

  3. 语句执行报错,文件无法打开?比如shellout "Stata2019.xlsx"报告“Cannot find...”

     多半是文档不在现有的执行路径内所导致的,可以先执行pwd查看现在的工作路径,如果文件不在路径内那么Stata也就无法找到文件了。

     可以通过cd来修改命令。

    如果路径没有问题,可能是文件名输错,再核对一下命令~

  4. 命令无法识别或无法执行?

     外部命令统一存放于“D:\stata15\ado\plus”文件夹中,正确设定 Stata 的文件路径就不会出现命令无法识别的问题。

     连老师自己编写的命令统一存放于 “D:\stata15\ado\personal\PX_A_2019a\adofiles”文件夹中,要使这些命令正确执行,需要使用adopath +命令将上述路径加入 stata15 的搜索范围内。

     对于外部命令,使用ssc install (命令) 就可以将命令下载于路径中,如

    ssc install esttab。之后命令就可正常运行(只需执行一次命令)。

  5. 如何设定Stata打开时自动执行的 profile.do 的文件?

    Stata: 聊聊 profile.do 文档
    ------------以下增加于2019.1.18------------

  6. shellout 命令无法使用?

  7. 执行命令+ if code = 111无法识别?

    Stata中一个=代表赋值,两个=表示判断,用if等条件语句时都是使用==,命令应该修改为if code == 111

  8. 日期形式的变量如何比大小?

    比如设定变量 ymdate%tm形式,运行if ymdate > 2001m1后程序报错,应该将以上命令改为if ymdate > tm(2001m1)后即可运行。

 

具体命令解答

  1. 如何更好理解merge命令同维度和不同维度数据的合并?

  2. 如何更好理解globallocal

  3. Stata中destringencode将字符型转换成数值型直接的区别?

    stata文本变量的处理

  4. logoutesttab 输出作用的区别?

    logout可用于输出所有命令结果;esttab一般用于输出回归表格,也可以输出描述统计。

    可见连享会推文 君生我未生!Stata - 论文四表一键出

    另外推荐一个功能强大的输出结果命令:asdoc (附使用指南)
    ------------以下增加于2019.1.18------------

  5. tabstat wage hours married, by(race) s(mean) f(%3.2f)中命令选项的s()是什么意思?

     s即statistics,表示统计量,如最大值、最小值、平均数等。

     通过s()可以输出特定的统计信息,如s(mean count n sum max min rang sd cv p1 p5 p10)等等,具体可以通过执行help tabstat语句后在对应的帮助文档中进行详细的查看。

  6. 什么时候需要使用adopath命令?

     ado文件的创建是用户基于现有的Stata命令,根据自己的需求编写脚本和程序来添加一些新的特性或功能以自动实现可重复分析。

     相应的adopath就是执行这些文件的路径,当用户将自己写的ado文件保存到除Stata自动设定搜索的路径之外时就需要在这些路径中加入自己保存文件的路径。命令如adopath + "E:\"

     可见推送Stata编程——我的第一个Stata程序

  7. 日期从Excel导入后的格式为字符串格式(str7),如2013-08,应该如何进行设定为Stata中的日期格式?

 以下的解决方法仅供参考~ 大家可以多参考一些官方文档(如Working with dates and times

 一种解决方案:

```stata

split time,p(-)

destring time1 time2,replace force

gen ymdata = ym(time1,time2)

format ymdata %tm

```

 注:如有报错可能是内存中存在time1或time2变量,可以先删去或者`rename`变量;也可以在Excel中先进行分列后分为年份和月份变量后导入Stata再执行后两行语句。

推荐连享会推文:Stata:文字型日期格式的转换如何处理时间序列中的日期间隔 (with gaps) 问题?
------------以下增加于2019.1.19------------

  1. xtregreg命令的区别?

     混合回归没有区别,如果要用固定效应就只能用xtreg。另外推荐reghdfeareg来进行面板数据的回归,大家可以通过help文件进行进一步详细的查看。

     推荐连享会推文 - Stata: 面板数据模型-一文读懂

 

计量与模型

------------以下增加于2019.1.18------------

  1. Stata如何检验分组回归后的组间系数差异?

  2. 如何理解内生变量和外生变量?

     在模型中,如果一个变量能够被该模型中的其他变量所决定或被影响,那么就称这个变量为内生变量。如果一个变量独立于系统中其他所有变量,其他变量的变化不对该变量造成影响,那么就称该变量为外生变量

     通常我们将外生变量作为自变量,内生变量作为因变量,如果自变量中存在内生变量,就会产生共线性问题,随机干扰项对自变量X的条件期望为0也是为了保证随机扰动项是外生的。

 变量一般分为外生变量,前定变量和内生变量。可以根据模型去说明,比如连老师的解释为:

```

模型: y[it] = a0*y[it-1] + a1*x[it] + a2*w[it] + u_i + e[it]



特征:解释变量中包含了被解释变量的一阶滞后项

        x[it]  —— 严格外生变量  E[x_it,e_is] =0  for all t and s

                    即,所有干扰项与x都不相关

        w[it]  —— 先决变量      E[w_it,e_is]!=0  for s<t, but E[x_it,v_is]=0 for all s>=t

                    即,前期干扰项与当期x相关,但当期和未来期干扰项与x不相关。

        y[it-1]—— 内生变量      E[x_it,e_is]!=0  for s<=t

                    即,前期和当期,尤其是当期干扰项与x相关



动态面板里面的y_i,t-1就是前定变量

```

另附上有关内生性的一些讨论链接:Stata - 内生性问题:处理方法与进展

  1. 过度投资如何计算?

    盈余管理、过度投资怎么算?分组回归获取残差

------------以下增加于2019.1.19------------

  1. 面板数据中的固定效应怎么理解?

    推荐连享会推文 - Stata: 面板数据模型-一文读懂

 

画图

------------以下增加于2019.1.19------------

  1. 如何让Stata输出的图形更加专业简洁?

    可见连享会推文:Stata绘图: 一个干净整洁的 Stata 图形模板qlean

  2. Stata作图如何导出,相关的教程?

    利用graph export "table 1-1.png", as(png) replace命令即可导出图形。

    可见连享会推文:普林斯顿Stata教程 - Stata做图

 

其他

  1. %v.df的含义?

    该语句用来规定输出形式。可以通过help format进行查看,其中v为输出结果的总位数,d为小数点后的输出位数。

------------以下增加于2019.1.18------------

  1. 如何打开连老师推荐的Baum和Acock两本电子书?

    • 在Stata15中执行下述程序:

  global path "`c(sysdir_personal)'\PX_A_2019a\A1_intro"

  global R "$path\refs"

  shellout using "$R\Baum_2006.pdf"

  shellout using "$R\Acock_2014.pdf"

&emsp;注:如果路径正确而文件无法打开可能是系统的问题,可以在`sheelout`后加`using`再尝试

- 可以直接在连老师发的资料("D:\stata15\ado\personal\PX_A_2019a\A1_intro\refs")中查找。
  1. 屏幕涂鸦与缩放软件如何使用?

屏幕涂鸦和缩放:ZoomIt (教师利器)

  1. 正则表达式是什么?如何利用stata对文本进行分析?

    连老师简书 - Stata: 正则表达式和文本分析

 

有问题我们会去哪里找答案?

推荐阅读更多精彩内容