datagrid出现相同两组数据_stata 数据操作基础知识:以一篇论文数据操作为例
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==0reg是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,命令
然后運用
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 数据操作基础知识:以一篇论文数据操作为例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于hsv的亮度调整算法_基于手绘工程图
- 下一篇: 蚊子爱叮什么颜色的人?