全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1475 9
2010-08-29
小弟刚接触SAS不久,向大家请教一个小小的问题,等待您的热心赐教!
假设我有这样的一个数据:
code R
10.1
1 0.2
1 0.1
1 0.2
1 0.3
2 0.1
2 0.2
2 0.1
2 0.3



我想把它分成:
1)简单的两个(按code分开)
code R
10.1
1 0.2
1 0.1
1 0.2
1 0.3


code R
2 0.1
2 0.2
2 0.1
2 0.3


2)分成两个后,每个只有x(假设3个)观测值:
code R
10.1
1 0.2
1 0.1


code R
2 0.1
2 0.2
2 0.1


请问怎么做呢?越简单的越好

小弟才疏学浅,急盼求教。
谢谢!!
二维码

扫码加我 拉你入群

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

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

全部回复
2010-8-29 19:25:45
data crackman;
input code r;
datalines;
1 0.1
1 0.2
1 0.3
1 0.4
1 0.5
1 0.7
2 1.8
2 0.9
2 0.8
2 0.6
2 1.6
2 1.3
;
proc sort data=crackman;
by code;
run;
data crackman1 crackman2;
set crackman;
by code;
if first.code then n=1 ;
else n+1;
if code=1 and n<=3 then output crackman1;
if code=2 and n<=3 then output crackman2;
run;
二维码

扫码加我 拉你入群

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

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

2010-8-29 19:42:23
谢谢版主crackman,看过很多你写的程序,大虾就是大虾!
谢谢你的热心帮助!!
二维码

扫码加我 拉你入群

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

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

2010-8-29 22:17:56
不好意思啊,可能我没有表达清楚,请问如果 code 不止两个而是3个或是更多个甚至上百个的情况可以怎么办呢?
二维码

扫码加我 拉你入群

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

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

2010-8-29 22:20:58
不好意思啊,可能我没有表达清楚,请问如果 code 不止两个而是3个或是更多个甚至上百个的情况可以怎么办呢? 2# crackman
二维码

扫码加我 拉你入群

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

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

2010-8-29 23:56:25
data crackman;
input code r;
datalines;
1 0.1
1 0.2
1 0.3
1 0.4
1 0.5
1 0.7
2 1.8
2 0.9
2 0.8
2 0.6
2 1.6
2 1.3
3 4.5
3 4.6
4 9.8
4 8.0
;
proc sort data=crackman;
by code;
run;
data a;
set crackman;
by code;
if first.code;
run;
data _null_;
set a;
call symput("cd"||left(_n_),code);
run;
proc sql noprint;
select count(*) as count into:count from a;
quit;
%macro opt(n);
data %do i=1 %to &count.;
  crackman&i.
  %end;;
set crackman;
by code;
if first.code then n=1 ;
else n+1;
%do j=1 %to &count.;
if code="&&cd&j." and n<=&n. then output crackman&j.;
%end;
run;
%mend opt;
%opt(3);
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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