楼主: saudada
5586 6

資料行列轉換 [推广有奖]

  • 0关注
  • 0粉丝

讲师

31%

还不是VIP/贵宾

-

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

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
請問大家:stata資料的行列轉換問題,

目前的資料形態如下:

year     company1   company 2 .....
1990       33                  55
1991       66                  66
1992       77                  65
:

如何將資料形式,轉換如下:

company     year           var
1                   1990         33
1                   1991         66
1                   1992         77
2                   1990         55
2                   1991         66  
2                   1992         65
:

謝謝大家!
二维码

扫码加我 拉你入群

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

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

关键词:company compan Stata comp year 行列

回帖推荐

蓝色 发表于6楼  查看完整内容

reshape long company,i(year) j(code)

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

*设原始数据库是data,在默认目录中。以下可生成的a即转换后的数据库 *设公司有company1、company2、……、company20共20个。 clear g year=. g company=. save a,replace forv i=1/20{ use data,clear keep year company`i' ren company`i' var g company=`i' save b,replace use a,clear append using b save a,replace } use a,clear mov company year

蓝色 发表于2楼  查看完整内容

reshape converts data from wide to long form and vice versa. Think of the data as a collection of observations x_ij. One such collection might be (wide form) -i- ------- x_ij -------- id sex inc80 inc81 inc82 ...

本帖被以下文库推荐

沙发
蓝色 发表于 2009-12-25 13:20:28 |只看作者 |坛友微信交流群
reshape converts data from wide to long form and vice versa.  Think of the data as a collection of
    observations x_ij.  One such collection might be

                                                   (wide form)           

                                          -i-       ------- x_ij --------
                                          id  sex   inc80   inc81   inc82
                                          -------------------------------
                                           1    0    5000    5500    6000
                                           2    1    2000    2200    3300
                                           3    0    3000    2000    1000


                                                    (long form)      

                                              -i-  -j-         -x_ij-
                                              id   year   sex    inc
                                              -----------------------
                                               1     80     0   5000
                                               1     81     0   5500
                                               1     82     0   6000
                                               2     80     1   2000
                                               2     81     1   2200
                                               2     82     1   3300
                                               3     80     0   3000
                                               3     81     0   2000
                                               3     82     0   1000


    reshape converts data from one form to the other:

        . reshape long inc, i(id) j(year)  (goes from top-form to bottom)
        . reshape wide inc, i(id) j(year)  (goes from bottom-form to top)

    See [R] reshape for a detailed discussion and examples for both the basic and advanced syntax.


Options

    i(varlist) specifies the variable(s) whose unique values denote a logical observation.

    j(varname [values]) specifies the variable whose unique values denote a subobservation.  values list the
        unique values to be used from varname and typically is not explicitly stated since reshape will determine
        them automatically from the data.

    string specifies that the j() may contain string values.

    atwl(chars) specifies that chars should be substituted for the @ character when converting the data to the
        long form.


Examples

    . reshape long inc ue, i(id) j(year)                                                converts from wide to long  
    . reshape wide                                                                      converts back to wide      

    . reshape ..., i(id)                                                                one i() variable            
    . reshape ..., i(hid pid)                                                           two i() variables           

    . reshape long inc, i(id) j(year 80-82 85)                                          specifying j() values      

    . reshape long inc, i(id) j(sex) string                                             allow string var. in j()

使用道具

藤椅
蓝色 发表于 2009-12-25 13:20:50 |只看作者 |坛友微信交流群
看reshape命令

使用道具

板凳
sungmoo 发表于 2009-12-25 13:25:44 |只看作者 |坛友微信交流群
*设原始数据库是data,在默认目录中。以下可生成的a即转换后的数据库
*设公司有company1、company2、……、company20共20个。
clear
g year=.
g company=.
save a,replace
forv i=1/20{
use data,clear
keep year company`i'
ren company`i' var
g company=`i'
save b,replace
use a,clear
append using b
save a,replace
}
use a,clear
mov company year

使用道具

报纸
saudada 发表于 2009-12-25 13:26:17 |只看作者 |坛友微信交流群
謝謝版主提供的訊息,我再去研究一下reshape的指令,謝謝您!

使用道具

地板
蓝色 发表于 2009-12-25 13:35:54 |只看作者 |坛友微信交流群
reshape   long   company,i(year)  j(code)

使用道具

7
saudada 发表于 2009-12-25 13:46:46 |只看作者 |坛友微信交流群
呵呵,版主真厲害,我試過了,程式或reshape的指令均是可以轉的成功的,謝謝您囉!

使用道具

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

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-11-5 22:49