楼主: suizh
1071 3

SAS 简单问题,,脑筋短路 [推广有奖]

  • 3关注
  • 2粉丝

已卖:19份资源

博士生

53%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
6.5001
学术水平
6 点
热心指数
6 点
信用等级
5 点
经验
137 点
帖子
122
精华
0
在线时间
470 小时
注册时间
2012-10-23
最后登录
2025-6-28

楼主
suizh 发表于 2013-8-5 15:42:51 |AI写论文
10论坛币
源数据:
abc
111
112
123
124
125
136
137
138
211
212
213
214
225
226
227
228
现在想增加一列:
abc
1111
1112
2123
2124
2125
3136
3137
3138
4211
4212
4213
4214
5225
5226
5227
5228


该怎么办,求大侠指导:

最佳答案

pobel 查看完整内容

data wanted; set have; by a b c; new_var+first.b; run;
关键词:简单问题 ABC 怎么办

沙发
pobel 在职认证  发表于 2013-8-5 15:42:52
data wanted;
   set have;
   by a b c;
   new_var+first.b;
run;
已有 2 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
scarfacetony + 1 + 1 + 1 大神的代码言简意骇~
Imasasor + 120 + 200 + 8 + 8 + 8 观点有启发,大神哥好久不见,又出来了

总评分: 经验 + 120  论坛币 + 200  学术水平 + 9  热心指数 + 9  信用等级 + 9   查看全部评分

和谐拯救危机

藤椅
freetest 发表于 2013-8-5 16:35:06
多出来的一列,可以作为一个单独的数据集,即只有1列变量。然后使用set命令进行两个数据集合并即可。
举例:数据集M包含三个变量 a b c.数据集N包含需要新加入的变量.
data k;
set m n;
run;

板凳
yzsxdlcc 发表于 2013-8-5 16:55:30
  1. data a;
  2. input a b c;
  3. cards;
  4. 1 1 1
  5. 1 1 2
  6. 1 2 3
  7. 1 2 4
  8. 1 2 5
  9. 1 3 6
  10. 1 3 7
  11. 1 3 8
  12. 2 1 1
  13. 2 1 2
  14. 2 1 3
  15. 2 1 4
  16. 2 2 5
  17. 2 2 6
  18. 2 2 7
  19. 2 2 8
  20. run;

  21. data c;
  22. set a;
  23. by b notsorted;
  24. retain z 0;
  25. if first.b then do;
  26. z=z+1;
  27. output;
  28. end;
  29. else output;
  30. run;
复制代码
从骨感走向丰满

文库

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

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