全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1512 2
2014-08-06
悬赏 5 个论坛币 已解决
请问:    id    year    a   b   c     d   e
    1     2000  .     .   .     .     .
    1    2001   .    .    .    .      .
    1    2002   .    .    .    .      .
    2    2000   
    2    2002
    2    2003    .       .
如上,id为个体标识,year为年份,a/b/c/d/e均为id的特征变量,现想求得每个个体id在所有年份中a/b/c/d/e等的平均值。
但注意的是,由于有些个体在部分年份的变量缺失,假设1在2001年中a变量的数值缺失,在计算1在2000-2002年a的平均值时,只计算2000和2002年的平均值。
如何用程序表示呢?
非常感谢!

最佳答案

learsaas 查看完整内容

帮楼上改进一下效率: proc means data=ex nway noprint class id; var a--e; output out=res(drop=_type_ _freq_) mean=; run;
二维码

扫码加我 拉你入群

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

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

全部回复
2014-8-6 09:28:01
帮楼上改进一下效率:
proc means data=ex nway noprint
class id;
var a--e;
output out=res(drop=_type_ _freq_) mean=;
run;
二维码

扫码加我 拉你入群

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

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

2014-8-6 10:08:41
data ex;
input id    year    a   b   c     d   e;
cards;
    1     2000  .     .   .     .     .
    1    2001   1    2    .    3      .
    1    2002   .    .    4    .      5
    2    2000   1   2  3 4 5
    2    2002   5 4 3 2 1
    2    2003   1 . 2    3   .
;
run;

proc means data=ex;
class id;
var a--e;
output out=res(where=(_type_=1)) mean=/autoname;
run;
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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