楼主: luckyxiaosheng
2677 3

[Stata初级班] 如何从文本产生dummy variables [推广有奖]

  • 0关注
  • 0粉丝

VIP

高中生

15%

还不是VIP/贵宾

-

威望
0
论坛币
1 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
114 点
帖子
15
精华
0
在线时间
27 小时
注册时间
2008-2-23
最后登录
2013-6-23

楼主
luckyxiaosheng 发表于 2010-6-11 13:25:34 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请教尊敬的的连老师如何从下面的变量中抽取信息生成dummy variables: 万分感谢!

Obs        Variable_1

  1        A,C,CSR,F
   2       A, C, Ex, F,G,N
   3       A,F
   4       Ex

想要达到的效果是:

Obs    Variable_1         A   C CSR F G N Ex   
1         A, C, CSR, F     1    1   1    1  0  0  0
2         A, C, Ex, F, G,N 1   1   0     1  1 1  1
3         A,F                     1   0   0     1  0  0 0
4         Ex                      0   0  0      0   0  0 1
二维码

扫码加我 拉你入群

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

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

关键词:Variables Variable Dummy ABLE ABL 文本 Dummy Variables

沙发
luckyxiaosheng 发表于 2010-6-11 23:23:21
请连老师百忙之中抽出宝贵时间回答一下学生的问题。多谢!!

藤椅
arlionn 在职认证  发表于 2010-6-12 21:49:00
clear
  input int id str20 x
  1       "A,C,CSR,F"
  2       "A, C, Ex, F,G,N"
  3       "A,F"
  4       "Ex"
  end
  compress
  
  gen     xx = subinstr(x, ", ", " ", .)
  replace xx = subinstr(x, "," , " ", .)
  local N = _N
  local aa ""
  forvalues i = 1/`N'{
    local a = xx[`i']
    local aa `aa' `a'
        *dis "`aa'"
  }

  foreach c of local aa{
     cap gen `c' = strmatch(xx, "*`c'*")
  }

*-results
   list
   browse

板凳
arlionn 在职认证  发表于 2010-6-13 17:28:02
*-General Case:

cd "E:\stata答疑\xiaoshen"
use committee.dta, clear
compress
gen xx = subinstr(commit, ", ", " ", .)

preserve
  keep xx
  duplicates drop
  local N = _N
  local Unique ""
  forvalues i = 1/`N'{
    local a = xx[`i']
        tokenize `a', parse(" ")
        local j = 1
    while "``j''" != ""{
          if strmatch("`Unique'", "*``j''*")==0{
            local Unique `Unique' ``j''
                local j = `j' + 1
          }
          local j = `j' + 1
    }
  }   
restore
  
  dis "`Unique'"
       
  foreach c of local Unique{
        cap gen `c' = strmatch(xx, "*`c'*")
  }

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

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