2013-05-14 94 views
1

我試圖用Stata打開一個.dat文件,它實際上打開了,但是數據集是一團糟。我從NBER (CPS data)拿着文件... 單擊年份1964年3月的A圖標。如何打開.dat文件(ASCII)?

我按照Stata手冊中爲.dat文件推薦的方法,嘗試了.dat文件中的常規Stata過程:File->Import->ASKII data created by spreadsheet (delimiter " ")

但它仍然無法正常工作。有沒有其他方法可以打開.dat文件?我能否以某種方式將它轉換爲.csv

(所有數據文件與UNIX壓縮命令壓縮的ASCII文件。)

回答

2

有一個Java應用程序讓你從CPS的數據DataFerrett這個應用程序可以讓你得到CPS和其他數據集。但效率不高。

我可以告訴你一個例子,如何自己打開其中的一個(你可以在間隔1989年至2012年的任何年份使用它)。

  1. 下載的.dat文件
  2. 將它保存在桌面文件夾(C:\用戶\用戶...)從here
  3. 保存他們
  4. 下載相應.do.dct文件在同一文件夾
  5. 打開.dat文件只是你在你的問題在Stata
  6. 打開它保存爲Stata的.dta文件相同的摺疊方式呃(C:\ Users \ Owner ...)
  7. 打開您的(C:\ Users \ Owner ...)文件夾中的.do文件(使用Notepad ++)
  8. 在開始時您會看到作者推測局部變量的路徑爲.dta,.dat.dct文件。更改路徑,使它們指向保存.dta.dat.dct文件您的文件夾中(C:\用戶\用戶...)在桌面上
  9. 重新打開的Stata,並運行你的文件夾中。做文件(C :\ Users \ Owner ...)
  10. 完成!保存.dta文件

現在,對於年份1962到1988年,你可以做同樣的過程(10級),因爲我上面所解釋的,但不幸的是NBER不提供.do.dct文件。這意味着你必須自己寫。以任一年份(1989 - 2012年)的可用.do.dct文件中的一個作爲基準,並編寫自己的.do.dct文件。您必須進行更正,以便新的.do.dct文件與每年的相應文件.pdf一致。我知道這是非常可怕的,但這是你處理它的唯一方法。

+0

謝謝!我試過這個。這是1989年至2012年的作品......但仍然,1962年至1988年的情況如何。我打開了這些.pdf文件。他們每個人都像200頁,並且這些文件是不可編輯的。有沒有其他方法?它看起來像赫拉克勒斯的任務,爲1962年至1988年的每一年編寫我自己的.dct和.do! – Buras

+0

爲什麼CPS將.dat文件與超長.pdf文檔一起發佈?他們是否認爲人們會閱讀這些.pdf並編寫自己的.do和.dct ...這是不可能的繁瑣!我認爲他們必須提供字典。 – Buras

+1

想象一下1962年到1988年間電腦的外觀。我們應該很高興這些年的數據不再存儲在打卡上。 Stata的第一個版本是在1985年發佈的,它的流行度只是逐漸增長,因此早期版本的數據沒有得到Stata的支持就不足爲奇了。爲Stata撰寫事後支持是很乏味的,顯然我們都希望其他人爲我們做那些繁瑣的工作,但並不總是這樣工作...... –

2

我們需要更多的信息。

「.dat」不是Stata所特別關注的擴展。也許你的意思是.dta。

即使如此,它是什麼文件,你使用了什麼命令,什麼錯誤?

您鏈接到的頁面會導致大量文件。我們沒有猜測你的意思的希望。

拼寫是「Stata」。

+0

感謝您的回覆...這是包含.dat(不是.dta)的.zip文件的鏈接:http://www.nber.org/data/current-population-survey-data .html'在1964年3月點擊A ...我按照stata手冊中的規則打開它,eui.eu/Personal/Franklin/Tutorial%20session1.pdf,即ImportFile-> ASKII-> delimiter「」 – Buras

+0

看起來你必須使用該站點其他地方給出的.do和.dct文件。正如你所報道的那樣,試圖直接導入.dat文件將無處可用。 –

+0

我試圖使用.do文件...我只是困惑...打開一個文件不應該這麼大...... – Buras

1

可能救不了你消磨時間挖掘到的數據,但這裏的一些想法:

  1. 文件包含2個完全不同類型的線。這可能是你無法導入它們的原因。你可以通過在文本編輯器中打開解壓縮的文件來看到這一點。你必須找出這意味着什麼。
  2. 你想從這個文件中獲得什麼?根據pdf,它包含每個記錄85個不同的值。你需要他們嗎?如果你只對幾個值感興趣,你可以在unix shell中提取它們。
+0

謝謝你的回答...我需要所有年份的所有變量。卡米爾解釋瞭如何處理從1989年到2012年的文件。但是,我還需要1962年至1989年的文件。所以他/她建議編寫.do和。那些年。我閱讀.pdf,但我仍然困惑如何編寫.do和.dct ...每行.dat是否包含每個變量或就緒值的加密值?什麼是分隔符?等等... – Buras

+0

分隔符是「」,即省略以節省空間(1964年只是不同,你知道)。相反,每個字段都有固定的長度(pdf中的Digits列)。位置列定義每個字段的字符範圍。例如:10.「單年齡」是一個2位數的數字,在每行B型的字符33和34(0 =第一個)中找到(因爲我說有兩種線,我稱它們爲A和B )。 11.「記錄年齡」是另一個涉及年齡的專欄,因爲字符35與查找「11歲時的單身年齡」時得到的數字完全相同。 – user829755

+0

謝謝,我明白了。你認爲1962年到1989年以.do和.dct編寫1989年到2012年爲基準是值得的嗎?我試圖打開1962年使用2012年.do和.dct,但它沒有工作... – Buras