全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1788 8
2012-09-10
各路大神,我有一个数据集,两个变量。现在需要按var1 分组,分组后计算每组的var2的均值,然后再将每组中var2大于2倍均值的观测删掉。请问code怎么写呢?最好是完整code,多谢了!:)
二维码

扫码加我 拉你入群

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

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

全部回复
2012-9-10 13:03:13
data a;
    input a b;
    cards;
    1 1
    1 2
    1 3
    1 4
    1 50
    1 6
    1 7
    1 8
    2 9
    2 10
    2 11
    2 12
    2 13
    2 80
    2 15
    2 16
    2 16
    ;
run;

proc sql;
    create table b(where=(b<=2*avg)) as
      select *
            ,avg(b) as avg
        from a
        group by a
    ;
quit;
二维码

扫码加我 拉你入群

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

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

2012-9-10 19:59:37
nomad5 发表于 2012-9-10 13:03
data a;
    input a b;
    cards;
试了下,结果是正确的! 非常感谢!

能再请教一个问题么~ 如果需要把每组中var2的最大值最小值算出,将最大值与最小值之差小于1的组全部删除,这个代码又该怎么写呢?
二维码

扫码加我 拉你入群

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

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

2012-9-10 20:23:19
max(var2)
min(var2)

你的问题太基础了……
二维码

扫码加我 拉你入群

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

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

2012-9-10 20:24:12
nomad5 发表于 2012-9-10 13:03
data a;
    input a b;
    cards;
还有个小问题,为什么执行以后,观测的数量变多了呢?
二维码

扫码加我 拉你入群

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

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

2012-9-10 20:24:44
那里多了?
应该是少了2个
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群