楼主: saudada
2423 7

[其他] 求助 stata 數據拆解 [推广有奖]

  • 0关注
  • 0粉丝

讲师

31%

还不是VIP/贵宾

-

威望
0
论坛币
91 个
通用积分
26.8769
学术水平
2 点
热心指数
2 点
信用等级
2 点
经验
14683 点
帖子
280
精华
0
在线时间
334 小时
注册时间
2007-5-17
最后登录
2019-4-26

楼主
saudada 发表于 2009-10-26 22:06:12 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
各位好:

我現在有一個panel data的資料,請問我可以先全部匯入stata後,再進行拆解嗎?

在stata該如何下指令呢?謝謝大家!

例如以下例子

原始資料匯入stata格式如下:

compay   year    var1   var2   var3
1             2000     22      11      33
1             2001     33      22      55
1             2002     44      11      77
:                :           :         :         :
1             2009     55      22      11
2             2000     33      44      55
2             2001     22      11      44
:                :           :         :         :
2             2009     33      33      22
3             2000     11      77      55
3             2001     44      22      66
:               :            :         :         :
3             2009     55      77      99
:
:
:
100         2000     11      33      55
100         2001     22     44      66
:                :            :        :         :
100         2009      33    22      33


想用stata將上述資料拆解成,以下格式,再另存一個stata檔,共拆成100個檔案,分別另存新的stata檔。


compay   year    var1   var2   var3
1             2000     22      11      33
1             2001     33      22      55
1             2002     44      11      77
:                :           :         :         :
1             2009     55      22      11
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Stata tata panel data Panel year 如何

回帖推荐

sungmoo 发表于7楼  查看完整内容

*从节约命令角度可直接使用 forv x=1/100 { use originalfilename.dta, clear keep if company==`x' save newfilename_`x'.dta, replace }

sungmoo 发表于6楼  查看完整内容

*是preserve与restore位置的问题吧: use originalfilename.dta, clear forv x=1/100 { preserve keep if company==`x' save newfilename_`x'.dta, replace restore }

benzhxb 发表于2楼  查看完整内容

** read original stata file use originalfilename.dta, clear **use preserve-restore to save separate files preserve forvalues x=1/100 { keep if company==`x' save newfilename_`x'.dta, replace } **the 100 new file names will be newfilename_1, newfilename_2,...newfilename_100 restore

本帖被以下文库推荐

沙发
benzhxb 发表于 2009-10-27 04:50:42
** read original stata file
use originalfilename.dta, clear
**use preserve-restore to save separate files
preserve
forvalues x=1/100 {
keep if company==`x'
save newfilename_`x'.dta, replace
}
**the 100 new file names will be newfilename_1, newfilename_2,...newfilename_100
restore
已有 2 人评分论坛币 学术水平 热心指数 收起 理由
crystal8832 + 10 + 1 + 1 精彩帖子
dxystata + 5 好的意见建议

总评分: 论坛币 + 15  学术水平 + 1  热心指数 + 1   查看全部评分

藤椅
saudada 发表于 2009-10-27 09:43:38
感謝您,我試試看!

板凳
saudada 发表于 2009-10-27 14:08:17
您好:

我試過了,用您程式拆,的確可以將另存100個檔案,也都有變數名稱,但變數裡面的數據是空的,

請問這是發生什麼問題了呢?謝謝!

报纸
saudada 发表于 2009-10-27 14:22:31
對不起,是新手,找到問題了,謝謝您!

地板
sungmoo 发表于 2009-10-27 19:31:17
saudada 发表于 2009-10-27 14:08
您好:

我試過了,用您程式拆,的確可以將另存100個檔案,也都有變數名稱,但變數裡面的數據是空的,

請問這是發生什麼問題了呢?謝謝!
benzhxb 发表于 2009-10-27 04:50
** read original stata file
use originalfilename.dta, clear
**use preserve-restore to save separate files
preserve
forvalues x=1/100 {
keep if company==`x'
save newfilename_`x'.dta, replace
}
**the 100 new file names will be newfilename_1, newfilename_2,...newfilename_100
restore
*是preserve与restore位置的问题吧:

use originalfilename.dta, clear
forv x=1/100 {
preserve
keep if company==`x'
save newfilename_`x'.dta, replace
restore
}
已有 1 人评分论坛币 热心指数 收起 理由
crystal8832 + 10 + 1 精彩帖子

总评分: 论坛币 + 10  热心指数 + 1   查看全部评分

7
sungmoo 发表于 2009-10-27 19:43:43
*从节约命令角度可直接使用
forv x=1/100 {
use originalfilename.dta, clear
keep if company==`x'
save newfilename_`x'.dta, replace
}

8
saudada 发表于 2009-10-28 23:47:54
真是感謝大家,我試過第一種,後來是可以,但有時會怪怪,可能是我資料擺的問題,感謝囉!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-5 20:54