全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3541 18
2013-08-12
悬赏 10 个论坛币 已解决
假设我有如下数据集:

var1   var2
A1      10
B2      22
C1      25
A1      30
A2      22
C1     30
......

这个数据集总共有十多万条观测,我现在想根据var1变量的值来分割,即var1的值相同的观测各自成为一个数据集,并把新生成的数据集根据各自的var1的值,分别命名为data_A1、data_B2、data_c1....

这个如何实现呢?

最佳答案

Eternal0601 查看完整内容

data raw; input var1:$8. var2; datalines; A1 10 B2 22 C1 25 A1 30 A2 22 C1 30 ; run; proc sql noprint; create table vlist as select distinct var1 from raw order by var1; quit; data _null_; set vlist; call execute('data data_' ||strip(var1) ||';'); call execute('set raw;'); call execute('where var1="'||strip(var1)||'";'); call ex ...
二维码

扫码加我 拉你入群

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

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

全部回复
2013-8-12 15:21:30

data raw;
        input var1:$8.   var2;
datalines;
A1      10
B2      22
C1      25
A1      30
A2      22
C1      30
;
run;


proc sql noprint;
        create table vlist as
        select distinct var1 from raw
        order by var1;
quit;

data _null_;
        set vlist;
        call execute('data data_' ||strip(var1) ||';');
        call execute('set raw;');
        call execute('where var1="'||strip(var1)||'";');
        call execute('run;');
run;
二维码

扫码加我 拉你入群

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

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

2013-8-12 15:32:10
问题的描述好像不是很清楚啊!
二维码

扫码加我 拉你入群

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

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

2013-8-12 16:10:50
liprayer 发表于 2013-8-12 15:32
问题的描述好像不是很清楚啊!
哪里不清楚
二维码

扫码加我 拉你入群

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

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

2013-8-12 16:53:15
如果var1不同的取值太多的话可以用下面的方法
data data;
input var1 $ var2 @@;
cards;
A1      10
B2      22
C1      25
A1      30
A2      22
C1     30
A2     500

;
run;
%macro xiang/parmbuff;
proc sort data=data out=data2 nodupkey;
by var1;
run;
data data2;
set data2;
id=1;
run;
data _null_;
set data2;
length var3$ 400;
by id;
retain var3;
if first.id then var3=var1;
else var3=catx(',',var1,var3);
call symput('xx',var3);
run;

%let i=1;
%do %while(%scan(&syspbuff,&i) ne);
%let var=%scan(&syspbuff,&i);
data data&var;
set data;
if var1="&var";
run;

%let i=%eval(&i+1);
%end;
%mend;
%xiang(&xx)

二维码

扫码加我 拉你入群

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

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

2013-8-12 20:25:00
复制代码

二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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