楼主: mengqinqing
2116 4

[原创博文] 求助:关于数据集拆分问题,一个宏程序 [推广有奖]

  • 8关注
  • 6粉丝

已卖:1份资源

讲师

95%

还不是VIP/贵宾

-

威望
0
论坛币
64341 个
通用积分
7.8717
学术水平
7 点
热心指数
5 点
信用等级
4 点
经验
21977 点
帖子
469
精华
0
在线时间
650 小时
注册时间
2007-11-24
最后登录
2026-1-16
毕业学校
中山大学

楼主
mengqinqing 发表于 2012-4-9 17:37:06 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请教各位,怎么把一个数据集按某个变量拆分成多个数据集?

我建立了一个数据文件 ss,里面包含三个变量id(id取值从1到12) c  state,下面给出的是部分数据。
然后我想按照id变量将数据拆分成12个数据集,我写了一个宏,但是运行不出正确的结果。请各位大虾看看:
data ss;
input id c state;
datalines;
1    1  5
  1    2  5
  2   3  5
  2    4  5
  3    5  5
  3    6  5
  4    7  5
  4    8  5
  5    9  5
  5   10  3
6   11  5
  6   12  3
  7   13  5
7   14  5
8   15  2
  8   16  1
  9   17  1
  9   18  1
10 14 5
10 15 2
11 16 1
11  17 1
12 18 1
12 19 2
;
run;

%macro split;
%do i=1 %to 12;
ODS html file="e:\&i..txt";
data ss&i.;
set ss;
if id=i then output;
keep state;
run;
ODS html close;
%end;
%mend;
%split;
请各位指出错误。非常感谢!
二维码

扫码加我 拉你入群

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

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

关键词:宏程序 数据集 output 各位大虾看看 State 程序

沙发
freerunning_sky 在职认证  发表于 2012-4-9 20:42:28
id=&i这个程序效率太低,你可以再改改,循环放到data步里面去做

藤椅
freerunning_sky 在职认证  发表于 2012-4-9 21:16:13
  1. %macro split;
  2. data _null_;
  3.         set ss;
  4.         %do i=1 %to 12;
  5.                 file "e:/&i..txt";
  6.                 if id=&i then put state;        
  7.         %end;
  8.         run;
  9. %mend;
  10. %split;
复制代码

板凳
mengqinqing 发表于 2012-4-10 16:04:04
非常感谢!运行后结果很好。
用自己的力量站在自己的位置

报纸
mengqinqing 发表于 2012-4-10 16:04:37
freerunning_sky 发表于 2012-4-9 21:16
非常感谢!运行后结果很好。
用自己的力量站在自己的位置

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-19 20:00