stata 数据操作基础知识:以一篇论文数据操作为例

上节回顾及问题

统计学学习大图景
数据描述
分位数回归

存在的问题:
1、学了就要多使用,哪怕生搬硬套也要多用
2、时间序列的方法,大家可以操作,却难以解释结果,也不知道怎么选择模型


各组主题与数据汇报


本节内容

掌握stata论文写作操作技能
stata论文写作的六张表
数据导入
样本分布的表格编制;
主要变量的描述性统计;
单变量之间的分组检验;
相关性分析;
回归分析。


一篇标准的毕业论文至少要有六个表格

1、样本分布表

2、变量定义表

以下这篇文章探讨的是Ananum是否会影响Delta_cash 、OverInv 、UnderInv这三个变量就行了。这三个变量的定义请仔细看看。

(1)关键变量是我们要着重考察的效应,一般而言,其结果要符合我们的假说。
(2)控制变量是,也会对被解释变量Y产生显著影响的变量,但并非我们假说要考察的因素。当一个变量(非关键变量)对被解释变量影响超过10%(取掉的话,R方会下降0.1及以上),就要考虑将它作为控制变量放到回归模型中。

3、描述性统计表

4、均值差异检验和中位数差异检验表(单变量差异检验表)

5、相关性分析表

6、回归分析表


练习与操作

大家打开邮箱里的数据表。
上市公司2004-2012

基本操作包括如下六个部分:

1.数据导入;

2.样本分布的表格编制;

3.主要变量的描述性统计;

4.单变量之间的分组检验;

5.相关性分析;

6.回归分析。


样本分布的表格编制

在命令窗口输入如下命令,然后回车。

tabstat anad , by(year) s(sum count)

菜单:
Statistics > Summaries, tables, and tests > Other tables > Compact table of summary statistics 或
统计>汇总,表格和假设检验>其它表>简明统计表

tabstat是Stata自带的程序命令,Stata的程序格式通常都是这样安排的,第一个“单词”或“字母组合”是其自带的程序命令。
anad是标记公司有没有分析师跟踪的变量,有就标记为1,没有分析师跟踪就标记为0(这个变量是手工标记的变量,成为逻辑变量)。对这个变量进行分年汇总求和就可以得到当年有分析师跟踪的样本公司总数。
by(year)是分年统计的意思。
s(sum count)意在输出变量anad的两个统计量,总和(sum),总观测数(count)。总观测数扣减总和就是没有分析师跟踪的公司数量。仔细想想为什么。


主要变量的描述性统计

tabstat delta_cash overinv underinv ananum cashflow fcf_p fcf_n absda size lev roa tobinq delta_std , s(count mean median sd min max)

tabstat是输出描述性统计非常好用的命令。

菜单:
Statistics > Summaries, tables, and tests > Other tables > Compact table of summary statistics 或
统计>汇总,表格和假设检验>其它表>简明统计表

delta_cash overinv underinv ananum cashflow fcf_p fcf_n absda size lev roa tobinq delta_std是文章的被解释变量、关键变量和控制变量。

s(count mean median sd min max)是说要生成的:总观测数、均值、中位数、标准差、最小值和最大值。共5项统计量。当然,如果你想生成其他统计量,可以在括号里添加,比如分位数q。


单变量分组检验

有时候我们需要知道两个班级的成绩是否存在差异,从而比较班级成绩的优劣,使用简单的均值进行比较是不全面的。两个班级平均分差不多,但是一个班级高分和低分都特别多,另一个班级则比较平均。此时需要在比较时考虑数据的波动因素。这便引出了均值差异检验和中位数差异检验。这两种检验可以告诉我们两组数据到底有没有差异。

参数检验:T检验(均值检验)

ttest delta_cash,by (pc3)

ttest菜单命令

Statistics > Summaries, tables, and tests > Classical tests of hypotheses > t test (mean-comparison test)
统计>汇总,表格和假设检验>古典假设检验>t检验(均值-比较检验)

做均值检验要一个一个变量来做。ttest 就是做均值检验的命令。

by(pc3)是说根据pc(政治关联)分组,检验有政治关系的企业和没有政治关系的企业,在现金流量(delta_cash)方面,有无显著差异。

当然有差异,你看到无政治关联企业的现金流减去有政治关联企业的现金流后,得到负数。并且统计检验的P值<0.01,三颗星***显著。

注意下面这句话,你会经常碰到。

***表示检验在1%的水平上显著, **表示检验在 5%的水平上显著, *表示检验在 10%的水平上显著。

统计表格里有些差异标了*,有些没有,只有标了才能说两组有差异,标的越多,说明差异的可能性越大。Pr(|T| > |t|) =0.0000 ,这个数就是P值。

当P值<0.01,则表示检验在 1%的水平上显著,标记***。
当0.01<P值<0.05,则表示检验在 5%的水平上显著,标记**。
当0.05<P值<0.1,则表示检验在 10%的水平上显著,标记*。

非参数检验: wilcoxons 检验

tabstat delta_cash ,by (pc3) s(median)
ranksum delta_cash,by (pc)

Statistics > Summaries, tables, and tests > 其它表> 简明统计表
统计>汇总,表格和假设检验>其它表> 简明统计表

非参数检验在

Statistics > Summaries, tables, and tests > 非参数假设检验>wilcoxons test
统计>汇总,表格和假设检验>非参数假设检验>wilcoxons test

非参数检验也是要一个一个变量来检验,主要检验有政治关系的上市公司和没有政治关系的上市公司在现金流变量方面有无差异。

这个检验分两个部分。

第一部分是比较两组数据的中位数差异。
第二部分是检验这种差异是否显著。

对差异分析结果的解释与上面的解释类似。只不过P值的计算方法出现了变化。

Prob > |z|= 0.0000,这个数就是P值。

相关性分析

pwcorr delta_cash overinv underinv ananum cashflow fcf_p fcf_n, sig

配对相关系数 pwcorr菜单命令

Statistics > Summaries, tables, and tests > Summary and descriptive statistics > Pairwise correlations
统计>汇总、表格和假设检验>摘要和描述统计>成对相关

变量两两之间会有上下一对数据。比如delta_cash和overinv,对应-0.0100和0.6435上下两个数据。上面的数据是二者的相关性系数,下面的数据是对相关性进行显著性检验得到的P值。这个P值决定了二者相关性是否显著,关于P值、显著性和*数量的关系,见前文的描述。


回归分析

xi:reg delta_cash cashflow cashflow*ananum ananum absda delta_std delta_nwc expend tobinq roa lev size i.indcode i.year if pc==0

reg是stata的回归命令。

xi:配合后面的i.indcode和i.year,是为了控制年份和行业。

if pc==0,表示本次回归只输入没有政治关联的公司数据。

P>|t|下面的数据,就是针对每个回归系数进行检验的P值。你不需要理解P值的原理,但是你必须知道只有P值显著,我们才能说cashflow对delta_cash 有影响。不显著的话,则称未发现cashflow对delta_cash 有显著性影响。回归分析的任务就是发现哪些解释变量,对被解释变量有显著影响。因此,有没有*很重要,*越多越好。

xi:reg菜单

Data > Create or change data > Other variable-creation commands > Interaction expansion
数据>创建或改变数据>其它变量创建命令>虚拟变量

分别对无政治关联(pc==0)和有政治关联(pc==1)的企业进行两次回归。得到以下结果,通过对比获得一定结论。

reg是stata的回归命令。

xi:配合后面的i.indcode和i.year,是为了控制年份和行业。

if pc==0,表示本次回归只输入没有政治关联的公司数据。

P>|t|下面的数据,就是针对每个回归系数进行检验的P值。你不需要理解P值的原理,但是你必须知道只有P值显著,我们才能说cashflow对delta_cash 有影响。不显著的话,则称未发现cashflow对delta_cash 有显著性影响。回归分析的任务就是发现哪些解释变量,对被解释变量有显著影响。因此,有没有*很重要,*越多越好。

整理到处合并后数据表格

数据合并

上节讲了数据描述,这里再补充数据合并stata操作。
数据合并有两种不同方式,一种是横向合并,比如年份相同或截面(序号)相同的数据合并,但变量不同,此时要使用merge命令。
另一种是纵向合并,当变量相同,但属于两个来源的样本需要合并时,采用append,命令

use x1.dta, clear<br>
sort id name<br>
save stat.dta, replace<br>use x2.dta, clear<br>
sort id name<br>
merge 1:1 id name using stat.dta<br>

然后运用

merge1:1 变量 using 数据集2
或merge1:m,或者merge m:1,或者merge m:n来进行合并。
冒号前的代表数据1,冒号后代表数据2。

如果两个数据中的某变量的数据都是唯一的,则用1:1,;

如果数据1中某变量的数据有多个,而数据2中某变量的数据是唯一的,则用merge m:1;

如果数据1中某变量的数据是唯一的,而数据2中某变量的数据有多个,则用merge 1:m;

如果数据1和2中某变量的数据均有多个,则用merge m:n

命令格式为

Data > Combine Datasets > Merge Two Datasets

数据>合并数据集>合并两个数据集

merge完之后结果窗口会出现下列信息,同时表格中会出现一个新的变量_merge,当_merge为1时,该数据仅在主数据集中存在;当_merge为2的时候,该数据仅在用于匹配的数据集中出现;当_merge为3的时候才表示匹配成功,数据在两个数据集中同时存在。

接着我们可以直接keep if _merge==3,则可以保留匹配成功的数据,删除匹配不成功的数据。

如果我们需要进行多次merge,不要忘记将_merge变量删除。drop _merge就可以实现。

纵向合并
如果我们想实现数据的纵向合并,可以使用append命令。

①首先导入两个数据集1和2;

②使用append命令,append using 数据2,就可以直接将数据2拼接到数据1的下面。

如果数据2中没有数据1的某些变量数值,则stata自动生成.(缺失值)。


删除变量

drop 变量
或
drop if 变量==x

删除缺失值

foreach in 变量1 变量2 .....{drop if `i`==.
}


字符串转数字

如果复制到stata 的数据呈现红色,表明需要将标红的字符串转为数字

destring 变量, replace force

日期数据的转化

gen 新日期变量t = date(数据表的日期变量“日期”, "YMD")


下一节的课程

1.数据的正态性检验;

2.Stata对单变量作图;

3.Stata对多变量作图;

4.异方差的调整;

5.多重共线性与方差膨胀因子。


课后作业

各组进一步讨论主题,并完善数据,使用本节介绍的stata论文写作6个步骤,做出一篇stata论文。 提交时间:下周日之前


本节回顾

stata论文写作的六张表
数据导入
样本分布的表格编制;
主要变量的描述性统计;
单变量之间的分组检验;
相关性分析;
回归分析。

本节主要内容、数据及论文来自mosuchen的一篇知乎高赞帖子《1小时用Stata速成毕业论文》 https://zhuanlan.zhihu.com/p/54757747,感谢杨玉龙老师及其团队的无私分享。

datagrid出现相同两组数据_stata 数据操作基础知识:以一篇论文数据操作为例相关推荐

  1. 【若泽大数据001】Linux基础知识汇总

    [若泽大数据001]Linux基础知识汇总 前情提要: Linux平台搭建 [若泽大数据001]Linux基础知识汇总 1.查看当前光标所在的目录的命令是什么? 2.切换到当前用户的家目录,哪三种方式 ...

  2. 为什么名校论文发表率更高?研究人员刷了160万篇论文数据发现:只是因为劳动力多...

    白交 发自 凹非寺 量子位 | 公众号 QbitAI 为什么研究机构越知名,它发表的论文越多? 最新研究表明,无关天赋,无关声望,只是因为他们拥有更多的劳动力. 来自科罗拉多大学博尔德分校的研究人员, ...

  3. [WPF 基础知识系列] —— 绑定中的数据校验Vaildation

    [WPF 基础知识系列] -- 绑定中的数据校验Vaildation 原文:[WPF 基础知识系列] -- 绑定中的数据校验Vaildation 前言: 只要是有表单存在,那么就有可能有对数据的校验需 ...

  4. datagrid出现相同两组数据_数据分析之统计学

    统计学知识 思维导图 第一节 统计学基本原理 数据分析相关概念 一.描述统计 测量尺度 1.定类(nominal) 功能:分类的作用,比如性别 2.定序(ordinal) 功能:分类.排序的作用,比如 ...

  5. datagrid出现相同两组数据_多数据库联用挖掘肝细胞癌症的血管侵犯特征基因

    作者:Lancelot 排版,审核:恺忻 今天通过这篇发表在BIOMED PHARMACOTHER的文章来简单介绍一下癌症特征基因的筛选以及预后模型构建的思路. Introduction 血管侵犯在肿 ...

  6. stm32串口自定义协议接收一串十六进制数据(将其中两个字节转化为十进制数据)+部分串口基础知识

    文章目录 一.基本储存单元 二.通信协议 (一)并行通信和串行通信 (二)三种工作方式 (三)收发数据同步或异步传输 (四)通信速率 三.串口通信协议 (一)RS232 (二)USB转串口(TTL标准 ...

  7. 在列表前方插入一个数据_Python基础知识详解(三):数据结构篇

    作者 | CDA数据分析师 1.列表的概念 列表(list)是用来存储一组有序数据元素的数据结构,元素之间用都好分隔.列表中的数据元素应该包括在方括号中,而且列表是可变的数据类型,一旦创建了一个列表, ...

  8. 从数据中进行学习-基础知识

    1. 大数据 大数据是一种理念.一种解决问题的方法和一系列技术的集合.他与传统BI一样,都是从数据中挖掘有价值的信息,以满足商业目标:但它的独特之处在于:分布式.并行化. 优秀的数据科学家需要具备的素 ...

  9. 类型数据合并去重 mysql_MySQL基础知识 数据类型和数据表管理

    欢迎点击上方蓝字关注我 〇.MySQL数据类型 1. 数值数据类型 数值数据类型存储数值. MySQL支持多种数值数据类型,每种存储的数值具有不同的取值范围. 整数 长度 int(n) 与 zerof ...

最新文章

  1. Struts快速入门
  2. 乐Phone:还原联想的联想
  3. php curl重用,使用PHP CURL解析负载较重的站点?
  4. 两个有序链表序列的交集_腾讯50题---合并两个有序链表(简单)
  5. 使用Pytorch的LSTM文本分类
  6. 《程序员代码面试指南》总结
  7. 【视频流上传播放功能】前后端分离用springboot-vue简单实现视频流上传和播放功能【详细注释版本,包含前后端代码】
  8. 常用元器件封装的命名规范-002
  9. python的画图工具有哪些_python实现画图工具
  10. 在ubuntu kylin优麒麟中运行league of legends英雄联盟(LOL)
  11. 谈逻辑与数学界线之淡化
  12. Autonomous Driving in Adverse Weather Conditions: A Survey - 恶劣天气条件下的自动驾驶:一项调查 (arXiv 2021)
  13. vue 页面卡顿(数据量大)
  14. 在搜狗浏览器中启用WebGL
  15. Lucas定理相关证明
  16. python在地图上画路线_使用Python和Perl绘制北京跑步地图
  17. 将PHP与Identi.ca一起使用,第2部分
  18. linux下测试网速
  19. input只能输入汉字、数字、英文
  20. FastRNABindR:快速准确预测蛋白质-RNA界面残基

热门文章

  1. android按键映射
  2. 【arduino】arduino ISP下载程序方法,用arduino uno给arduino nano下载程序
  3. 国家的重视让少儿编程越来越火爆!
  4. C++通过引用来传递和返回类对象
  5. 我能考虑到的数组(老)方法就这些了(es5)
  6. centos7 以上和以下版本设置
  7. Android 插件化总结
  8. 排序和顺序统计学(2)——快速排序
  9. 终于看到了希望——基于美女的VGA系统构架
  10. 关于c中的inline