web-dev-qa-db-ja.com

RでStata 13ファイルを読み取る

RでStataバージョン13データセットファイルを読み取る方法はありますか?

私は次のことを試みました:

> library(foreign)
> data = read.dta("TEAdataSTATA.dta") 

しかし、エラーが発生しました:

Read.dta( "TEAdataSTATA.dta")のエラー:
Stataバージョン5-12 .dtaファイルではありません

これを修正する方法がある場合、誰かが指摘できますか?

48
kolonel

Stata 13がある場合は、コマンドsaveold(_help saveold_を参照)を使用して、そこにロードしてStata 12形式として保存できます。その後、Rに持って行きます。

Stata 10〜12をお持ちの場合は、ユーザーが作成したコマンド_use13_(Sergiy Radyakinによる)を使用してロードし、そこに保存できます。その後Rに。_use13_を実行して_ssc install use13_をインストールできます。

詳細は http://radyakin.org/transfer/use13/use13.htm にあります。

まだStataを使用している他の選択肢には、Rが読み込む他の何かにStata形式をエクスポートすることが含まれます。テキストベースのファイル。 Stata内の_help export_を参照してください。

更新

Stata 14以降、saveoldにはversion()オプションがあり、Stata 11と同じ古いStata .dta形式で保存できます。

13
Roberto Ferrer

Rのdata.frameにStata 13ファイルをインポートする新しいパッケージがあります。

パッケージをインストールし、read.dta13()でStata 13データセットを読み取ります。

install.packages("readstata13")

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

Update:readstata13はバージョン0.8でもStata 6から14のファイルをインポートします

パッケージの詳細: https://github.com/sjewo/readstata1

85
sjewo

Hadley Wickhamによる新しいパッケージHavenがあり、Stata 13 dtaファイル(およびSASおよびSPSSファイル)をロードできます)

library(haven) # haven package now available on cran
df <- read_dta('c:/somefile.dta')

参照: https://github.com/hadley/haven

27
yoyoyoyosef

その間savespssコマンドはSSCアーカイブのメンバーになり、次のコマンドでStataにインストールできます:findit savespss

ホームページ http://www.radyakin.org/transfer/savespss/savespss.htm は引き続き機能しますが、プログラムは現在SSCからインストールする必要があります。notベータ版の場所から。

6
Sergiy Radyakin

同じ問題がありました。 read.dta13read.dtaを試しましたが、何も機能しませんでした。次に、最も簡単で予想もしなかったMS Excelを試してみました!それは見事に開いた。 .csvとして保存し、Rで使用しました!!!お役に立てれば!!!!

2

他のファイル形式を読み取る機能に関するRプログラムの現在の状態についてはよく知りませんが、誰かがコンピューターにStataをインストールしておらず、RがStataのdtaファイルの特定のバージョンを読み取れない場合、Pandas in Pythonは、このような変換の大部分を実行できるようになりました。

基本的に、dtaファイルからのデータは、最初に pandas.read_stata 関数。バージョン0.23.0、サポートされているエンコードと形式は、 私の関連する回答 で見つけることができます。

次に、データをcsvファイルとして保存し、標準のR関数を使用してインポートするか、代わりに pandas.DataFrame.to_feather 関数。ApacheArrowで構築されたシリアル化形式を使用してデータをエクスポートします。後者は 相互運用性の促進Pandasで構想されたため、Rで広範囲にサポートされています。

1
Pearly Spencer