yifeitai 发表于 2012-7-5 19:59

新手求教

刚入门,,求咋编程
比如
age m
1   2
1   3
1   3
2   4
2   2
2   2
2   5
3   2
3   6
3   5
、、、、

怎么将age分别是1、2、、、时,对应的m值累加起来,然后将1岁的合为1组


songdawei 发表于 2012-7-9 22:49

俺也想学学。

qq0055 发表于 2012-7-16 08:43

data a;
        input age m;
        cards;
        1        2
        1        3
        1        3
        2        4
        2        2
        2        2
        2        5
        3        2
        3        6
        3        5
        ;
proc sort data=a;
        by age;
run;

data test;
        set a;
        by age;
        retain sum_age;
        if first.age then do;
        sum_m=0;
        end;
        sum_m+m;
        if last.age;
run

xzpghaha 发表于 2012-7-16 09:27

用means过程就可以实现啦!

xzpghaha 发表于 2012-7-16 09:31

本帖最后由 xzpghaha 于 2012-7-16 09:36 编辑

比如把数据输入到a中以后,然后运行means过程:
proc means data=a sum;
class age;
var m;
run;

darker50 发表于 2012-7-16 10:22

xzpghaha 发表于 2012-7-16 09:31 static/image/common/back.gif
比如把数据输入到a中以后,然后运行means过程:
proc means data=a sum;
class age;


  麻烦给详细一点的吗?

xzpghaha 发表于 2012-7-16 10:32

darker50 发表于 2012-7-16 10:22 static/image/common/back.gif
麻烦给详细一点的吗?

data a;
input age m;
cards;
1 2
1 3
1 3
2 4
2 2
2 2
2 5
3 2
3 6
3 5
*按此格式输入完所有数据;
;
run;

*当数据已经输入完毕,或者能够直接读入该数据集,设数据集的名字为a;
proc means data=a sum;
class age;
var m;
run;

cw200808 发表于 2012-8-28 19:31

真是高手,学习了

rainbow321 发表于 2012-11-17 20:19

data;
input age m@@;
datalines;
1 2
1 3
1 3
2 4
2 2
2 2
3 3
3 4
;
run;
proc means  data=data1 sum;
        by age;
run;

黑马小子 发表于 2013-7-29 12:15

原题是什么啊,能说的明白点吗
页: [1]
查看完整版本: 新手求教