楼主: shi123_tian
1246 4

[原创博文] 如何编程 [推广有奖]

  • 0关注
  • 1粉丝

博士生

82%

还不是VIP/贵宾

-

威望
0
论坛币
153 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
24038 点
帖子
148
精华
0
在线时间
301 小时
注册时间
2008-2-18
最后登录
2020-5-18

楼主
shi123_tian 发表于 2011-11-11 16:06:17 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
数据集见:
a  b
1  1
1  2
1  1
2  1
2  2
3  1
3  4
如果要对变量a进行分类,对b求和,
然后建立新的数据集,
怎么编程?
二维码

扫码加我 拉你入群

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

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

关键词:怎么编程 数据集 如何 怎么编程

沙发
yugao1986 发表于 2011-11-11 18:51:17
data test;
input a  b;
cards;
1  1
1  2
1  1
2  1
2  2
3  1
3  4
;
run;
data need1(drop=temp);
   set test(rename=(b=temp));
   by a;
   if first.a then do;
      b=0;
   end;
   b+temp;
   if last.a then output;
run;

proc means data=test noprint nway;
   class a;
   var b;
   output out=need2(drop=_:) sum=;
run;
三人行必有我师

藤椅
meishanjia1900 发表于 2011-11-11 21:07:23
yugao1986写的还是不错的。不过并不完美。

首先,data步用到"by a;"语句时,要求set里的数据集——test已经按a变量排过序。

故在data need1之前要加上proc sort过程。

其次,这里的proc means没多少用处,删掉好了。

---------------------------------------------------------------------------

如果只是输出,那下面的代码倒也可以用一用:

  1. proc sort data=your_data;
  2.   by a;
  3. run;
  4. proc print data=your_data;
  5.   by a;
  6.   sum b;
  7. run;
复制代码

板凳
ordinaryxing 发表于 2011-11-12 01:57:59
我同意楼上的

报纸
spssone 发表于 2011-11-12 17:31:26
proc sql;
create table y as select a,sum(b) as sum ,count(b) as count from x
group by a;
quit;

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

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