2016-02-20 114 views
10

我已經嘗試了一千種不同的時間讀取Stata14文件上R,出於某種原因,我不斷收到奇怪的事情發生(如變量下降,這樣的。)閱讀Stata的14文件中的R

原始文件保存在Stata 1314,所以read.dta()命令不起作用。我也嘗試過read.dta13(),它有時會讀取它,但它會在某個位置切斷數據庫,並且不會給出數據集中包含的所有變量(我可以在Stata中完美地看到和使用這些變量)。原始文件可以找到here並滾動到Uruguay

任何人有任何想法如何解決這個問題?我厭倦了與R爭論正確地閱讀我的Stata文件,當它在Stata完美工作。

+1

爲什麼不以CSV格式加載到STATA和outsheet中。或者在STATA中使用saveold –

+2

你能告訴我們你試過的是什麼嗎?你有沒有嘗試過最近的/開發版的[haven package](https://github.com/hadley/haven/)? –

+1

@JacobH我嘗試saveold並將其保存在Stata12中,但仍然無法正常工作...... R讀取數據庫的一部分,但不是全部。 R沒有讀取我需要的變量的一部分。 – rowbust

回答

13

我知道這是一個古老的線程,但每次我谷歌「閱讀與R的stata 14」我來到這個未解決的答案。

共同體SO回答是:Read Stata 13 file in R

截至今天,有一個CRAN包閱讀STATA 13和14使用此:

install.packages("readstata13") 

library(readstata13) 
dat <- read.dta13("myStataFile.dta") 

我希望你發現這很有用。

15

看看哈德利的haven包(CRAN,github)。它:

與Stata 13和14文件(國外只適用於Stata 12)工作。也可以編寫SPSS和Stata文件(這很難測試,所以如果你遇到任何問題,請告訴我)。

一旦安裝,你只需:

read_dta("path/to/file") 
1

而是迫使其他包來閱讀你的數據,你應該將數據轉換爲通用格式,如CSV或Excel表格XLSXLSX。 Stata允許您創建一個體面的文本數據集,它幾乎可以在任何統計軟件的任何版本中輕鬆移植。

要做到這一點,去文件 - >出口或只使用export delimitedexport excel分別。有關更多詳細信息,請在Stata命令行中鍵入help export

您還可以將數據通過saveold命令降級到的Stata 12,甚至塔塔11:

saveold "name.dta", version(11) 

此命令將創建一個可以在Stata 14這可以創建可能是最古老的數據集將解決你的問題,但仍然,我建議使用CSV格式。只是在不同軟件之間傳輸數據時它是如何工作的。