0
最初我正在處理一個數據集看起來是這樣的轉型的數據集:在更緊湊的格式(塔塔)
+------+--------+-----------+-------+
| date | geo | variables | value |
+------+--------+-----------+-------+
| 1981 | Canada | var1 | # |
| 1982 | Canada | var1 | # |
| 1983 | Canada | var1 | # |
| ... | ... | ... | ... |
| 2015 | Canada | var2 | # |
| 1981 | Canada | var2 | # |
| 1982 | Canada | var2 | # |
| ... | ... | ... | ... |
| 2015 | Canada | var2 | # |
| 1981 | Quebec | var1 | # |
| 1982 | Quebec | var1 | # |
| 1983 | Quebec | var1 | # |
| ... | ... | ... | ... |
| 2015 | Quebec | var2 | # |
| 1981 | Quebec | var2 | # |
| 1982 | Quebec | var2 | # |
| ... | ... | ... | ... |
| 2015 | Quebec | var2 | # |
+------+--------+-----------+-------+
所以我有35個的時間段,這兩個國家和兩個變量。我想變換表在Stata爲它看起來像這樣:
+------+--------+------+------+
| date | geo | var1 | var2 |
+------+--------+------+------+
| 1981 | Canada | # | # |
| 1982 | Canada | # | # |
| ... | ... | ... | ... |
| 2015 | Canada | # | # |
| 1981 | Quebec | # | # |
| 1982 | Quebec | # | # |
| ... | ... | ... | ... |
| 2015 | Quebec | # | # |
+------+--------+------+------+
不過,我並沒有與這麼多的成功。我想不同的意見與命令分成變量:
separate value, by(variables) generate(var)
其中這樣造成了一句:
+------+--------+------+------+
| date | geo | var1 | var2 |
+------+--------+------+------+
| 1981 | Canada | # | . |
| 1982 | Canada | # | . |
| ... | ... | ... | ... |
| 2015 | Canada | # | . |
| 1981 | Canada | . | # |
| 1982 | Canada | . | # |
| ... | ... | ... | ... |
| 2015 | Canada | . | # |
| 1981 | Quebec | # | . |
| 1982 | Quebec | # | . |
| ... | ... | ... | ... |
| 2015 | Quebec | # | . |
| 1981 | Quebec | . | # |
| 1982 | Quebec | . | # |
| ... | ... | ... | ... |
| 2015 | Quebec | . | # |
+------+--------+------+------+
裏面包含了很多無用的缺失值。
因此,更具體而言,我想東西帶我直接於表A到B(即不使用separate
),或溶液,以表C固定到B.
感謝。
嗨,我很樂意提供一些示例數據,但我不知道該怎麼做。我嘗試了你的建議,它給了我下面的錯誤信息:'變量變量的值在日期地理中不唯一。而且,爲了記錄,在提出這個問題之前,我嘗試了所有可能的'reshape'命令的組合,但沒有成功。 – EBassal
感謝您的幫助。你是對的,它應該工作。所以這意味着數據有問題。我可以向你發送有問題的.dta文件嗎?我看到的一個可能的問題是,不是「var1,var2,...」,「變量」中的名稱相當簡單並且包含空格。會導致問題嗎?否則,我如何檢查,如您所說的「對於日期和地理位置的某種組合,特定變量值出現多次」?再次感謝。 – EBassal
這是一個不同的問題,你應該在另一個線程中詢問(可能是重複的) – timat