楼主: revelc
7208 7

[原创博文] 如何生成多个dummy variable [推广有奖]

  • 0关注
  • 0粉丝

本科生

76%

还不是VIP/贵宾

-

威望
0
论坛币
4 个
通用积分
0.0006
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2608 点
帖子
102
精华
0
在线时间
101 小时
注册时间
2005-11-22
最后登录
2018-7-3

楼主
revelc 发表于 2011-8-22 23:28:45 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
求教:
id  type
1   a
2   b
3   a
4   c
5   c
.   .
.   .
.   .
如何对每个id生成三个dummy, 并且dummy名称为type变量值

id  type  a  b  c
1   a      1   0  0  
2   b      0   1  0
3   a      1   0  0
4   c      0   0  1
5   c      0   0  1
二维码

扫码加我 拉你入群

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

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

关键词:Variable Dummy ABLE ABL IAB 如何

沙发
ntsean 发表于 2011-8-23 03:12:02
data a;
input id type $;
datalines;
1   a
2   b
3   a
4   c
5   c
;
run;
data b;
set a;
x=1;
run;

proc transpose data=b out=c(drop=_name_);
by id type;
id type;
var x;
run;

data d;
set c;
array var{*} _numeric_;
do i=2 to dim(var);
  if var{i}=. then var{i}=0;
end;
drop i;
run;

藤椅
bobguy 发表于 2011-8-23 07:00:17
Too complicated approach.

data a;
input id  type $;
dmy1=(type='a');
dmy2=(type='b');
dmy3=(type='c');
cards;
1   a
2   b
3   a
4   c
5   c
;
run;

proc print;run;

板凳
bobguy 发表于 2011-8-23 07:07:39
The glmmod can create the dummies automatically. The col1 is (type='a') ... etc.

data a;
input id  type $;
cards;
1   a
2   b
3   a
4   c
5   c
;
run;

proc glmmod data=a OUTDESIGN=b;
class type;
model id=type/noint;
run;

proc print data=b;
run;
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
revelc + 1 + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

报纸
revelc 发表于 2011-8-23 08:55:43
bobguy 发表于 2011-8-23 07:07
The glmmod can create the dummies automatically. The col1 is (type='a') ... etc.

data a;
您太牛了!万分感谢

地板
yugao1986 发表于 2011-8-23 09:55:37
proc sql;
create table b as
select id,
       unique.type as _name_,
           a.type=unique.type as dummy
from a,(select distinct type as type from a) as unique
order by id ,_name_;
quit;
proc transpose data=b out=dummies(drop= _name_);
by id ;
var dummy;
run;

另外,http://www.datavis.ca/sasmac/dummy.html
该地址是利用宏对分类变量创建哑变量,很精彩
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
revelc + 1 + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

三人行必有我师

7
revelc 发表于 2011-8-23 13:11:33
yugao1986 发表于 2011-8-23 09:55
proc sql;
create table b as
select id,
大好人啊

8
hytc0095 发表于 2013-7-31 11:04:05
yugao1986 发表于 2011-8-23 09:55
proc sql;
create table b as
select id,

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-9 09:29