SAS中文论坛

标题: 求平均数问题 [打印本页]

作者: shiyiming    时间: 2011-4-27 08:34
标题: 求平均数问题
先贴上数据[code:23prv7yl]data one;
input group x r@@;
cards;
1        15        1
1        17        2
1        17        3
1        19        4
2        19        5
1        20        6
1        20        7
1        20        8
2        20        9
1        23        10
2        24        11
2        25        12
2        26        13
2        28        14
2        30        15
1        31        16
2        31        17
2        32        18
2        33        19
......more data
;[/code:23prv7yl]
基于以上例题,我的意思是若变量x有连续的相同值,对应于r,则生成新变量y,y=(连续相同的x对应r的均数),

最后生成如下的数据集[code:23prv7yl]data two;
input group x r y@@;
cards;
1        15        1        1
1        17        2        2.5
1        17        3        2.5
1        19        4        4.5
2        19        5        4.5
1        20        6        7.5
1        20        7        7.5
1        20        8        7.5
2        20        9        7.5
1        23        10        10
2        24        11        11
2        25        12        12
2        26        13        13
2        28        14        14
2        30        15        15
1        31        16        12.5
2        31        17        12.5
2        32        18        18
2        33        19        19
;[/code:23prv7yl]
[color=#FF0000:23prv7yl]现在请教y的取值怎么实现。[/color:23prv7yl]
作者: shiyiming    时间: 2011-4-27 20:29
标题: Re: 求平均数问题
[code:kau2yjhg]data two;
        do until(last.x);
                set one; by x notsorted;
                sum=sum(sum, r); n =sum(n, not missing(r));
        end;
        if n  then y =sum/n;
        do until(last.x);
                set one; by x notsorted; output;
        end;
        drop sum n;
run;[/code:kau2yjhg]
京剧




欢迎光临 SAS中文论坛 (http://mysas.net/forum/) Powered by Discuz! X3.2