在stata中進行迴歸、時間序列分析、面板數據分析時,經常會出現「no observations」的問題,以下所示:微信
這是2009年1月-2017年12月的美國國債利率的相關時間序列的excel格式數據。
網站
咱們經過stata中的file——import——Excel spreadsheet菜單操做導入excel文件時,並將第一行做爲變量命名後,就將excel文件導入到stata裏.net
此時,咱們對TB1YR進行單位根檢驗(首先須要tsset DATE定義時間變量),會出現「no observations」的問題3d
這個問題經過查詢相關網站及其資料,能夠發現「no observations」的問題並不徹底是TB1YR這個變量出現缺失值或者變量數值爲字符型的緣由,主要緣由來自於DATE這個日期變量雖然在這裏爲整數數值型(int)或者數值型(float)變量,可是它的數據格式:1/1/2009,並不符合傳統的stata關於時間、日期的數據格式。excel
在網上許多人針對該問題,提出了destring DATE, replace的辦法,將DATE轉換爲「數值型變量」的方法,可是這個方法並不奏效:blog
DATE already numeric; no replace代表DATE已是numeric型無需轉換。get
網上還有不少人採用了不少方法,可是也不有效,那針對這種問題該怎麼辦呢?
數據分析
筆者認爲,既然問題出在DATE上,且經過各類手段沒法改變DATE的屬性的狀況下,不妨從新生成一個關於日期的變量t,並賦予數值型數值,能夠解決該問題。
string
由於日期變量DATE或t並不參與實際的迴歸或時間序列分析過程,而是一個定義的指標性變量。解決的過程以下:io
經過egen t=group(DATE)生成一個徹底數值型的時間變量,而後用tsset t 將其定義,最後進行單位根檢驗,能夠看到不會出現「no observations」的問題。
此時t變量的呈現形式爲:
本文分享自微信公衆號 - 博士的計量經濟學乾貨(econometrics_ABC)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。