全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2156 5
2013-04-10
有数据集A
m        n        x
一        一       1
二        一       1
三        二       1
求;得到数据集B
   m     n    一        二      三
    一          1         0        0
    二          1         0        0
    三          0        1         0

二维码

扫码加我 拉你入群

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

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

全部回复
2013-4-10 13:24:59
我这样搞
proc tabulate data= a ;
class m n;
var x;
table m,n;
run;
出来的表是mn都是三 二 一排的,不能一二三,而且不能输出到数据集或者直接导出到excel中。
二维码

扫码加我 拉你入群

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

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

2013-4-10 13:26:05
因為你的n是文字
所以建議用SAS的glmmod
proc glmmod outdesign=xx;
class n;
model m=n;
proc print data=xx;
run;

如果你的n是數字,可以用
data original_data;
input catvar $ @@;
cards;
1 2 2 3 3 1
;
DATA dummyvar;
  set original_data;
  ARRAY dummys {*} 3.  dummy_1 - dummy_3;
  DO i=1 TO 3;                              
    dummys(i) = 0;
  END;
  dummys( catvar  ) = 1;               
RUN;
proc print data=dummyvar;
run;


二维码

扫码加我 拉你入群

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

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

2013-4-10 13:35:17
ariman911 发表于 2013-4-10 13:26
因為你的n是文字
所以建議用SAS的glmmod
proc glmmod outdesign=xx;
谢谢,第一个程序好像结果还是a啊,第二个看不懂。
二维码

扫码加我 拉你入群

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

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

2013-4-10 13:40:40
data a;
input x y $ @@;
cards;
1 A 2 A 3 D 3 B 2 A 1 C
;
proc glmmod outdesign=xx;
class y;
model x=y;
proc print data=xx;
run;

你可以參考上面的完整程式試試
二维码

扫码加我 拉你入群

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

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

2013-4-10 13:42:35
我誤會你的意思了我一開始看到你data
我以為你是要產生dummy var.

二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群