楼主: liuliuqiu
1565 2

SAS程序请教 [推广有奖]

  • 6关注
  • 2粉丝

已卖:35份资源

副教授

64%

还不是VIP/贵宾

-

威望
0
论坛币
2239 个
通用积分
8.1161
学术水平
3 点
热心指数
5 点
信用等级
5 点
经验
14393 点
帖子
429
精华
0
在线时间
1129 小时
注册时间
2009-3-24
最后登录
2025-12-11

楼主
liuliuqiu 发表于 2014-8-6 09:28:00 |AI写论文
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;
关键词:sas程序 year 特征变量 非常感谢 平均值 程序

沙发
learsaas 发表于 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;
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
liuliuqiu + 2 + 2 + 2 + 2 精彩帖子

总评分: 论坛币 + 2  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

藤椅
ziyenano 发表于 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;
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
liuliuqiu + 3 + 2 + 2 + 2 精彩帖子

总评分: 论坛币 + 3  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 08:05