統計ソフトSTATAの部屋
■ このスレッドは過去ログ倉庫に格納されています
0090ごろ
2010/06/25(金) 12:43:03十分検討はしていませんが、いちおう試してみました。
forvalues i=1/10 {
insheet using "test`i'.csv"
save test`i'.dta,replace
clear
}
use test1.dta
forvalues i=2/10 {
merge id using test`i'.dta, sort unique _merge(_merge`i')
}
このような形で一応できました。
>Excel->複数CSVファイル->Stataで取り込み->Stataで結合
私の使っているエクセルのバージョンでは複数シートのエクセルから保存時に複数のCSVファイルに一度に出力が出来ないので、
ここで先に紹介して頂いたアプリケーションなどを使う必要がありそうです。
MacやWinに左右されない方法としては、エクセルでマクロを組むのが良さそうです。
Stataは読み込みもとても早く上記問題が解決できれば、Stataで行うのが良さそうです。
まだ十分理解していませんが、mergeした際に_mergeという新しい変数名でmergeの結果を出力するようで、
複数ファイルを扱う場合には、上記コマンドのように_mergeオプションで変数名を指定する必要がありました。
後uniqueオプションはどう働いているかまだ十分に検討しきれていません。
エクセルからCSVファイルのところが面倒なので私はRを使ってしまいましたが、Stataのサクサク動く様には改めて感心しました。
■ このスレッドは過去ログ倉庫に格納されています