全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2263 1
2019-07-18
制作一张表格,显示每个运动员参加每一种运动的时间长度LPS的最小值,平均值和最大值以及访问次数(即,这是某人的第一次观察,第二次观察,第三次观察或第四次观察)

- 在代码中包含这些数字作为注释; 将它们放在生成此表的代码之后


Screen Shot 2019-07-18 at 12.04.12 PM.png
大小:(80.51 KB)

只需: 1 个论坛币  马上下载


二维码

扫码加我 拉你入群

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

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

全部回复
2019-7-23 23:02:09
/*使用分组计算完成*/
data result;
input  id visit_date sport $  lps;
format visit_date yymmdd10.;
cards;
1 17665 soccer 8108
4 17348 gym 2127
4 18059 hockey 177.75
5 16352 hockey 1679
5 16460 .      27
6 15865 basket 3261
6 16568 basket 175.75
6 16889 basket 80.25
6 17205 basket 79
12 18822 soccer 3925
12 19512 basket 172.5
12 19938 basket 106.5
13 15706 base 3491
13 15743 hockey 9.25
13 16011 . 67
13 16364 . 421
14 15894 base 7065
14 16036 base 35.5
14 16199 hockey 40.75
14 16210 . 2.75
;
run;
proc sort data=result out=resultsort;
by id sport;
run;
data finalresult;
set resultsort;
by id sport;
/*visit_time:观测次数;max_time:最大的lps对应的观测次数;min_time:最小的lps对应的观测次数*/
retain visit_time max_time max_lps  min_time min_lps sum_lps;
drop visit_date visit_time sum_lps;
if first.sport then
  do ;
     visit_time=1;max_time=1;min_time=1;max_lps=lps;min_lps=lps;sum_lps=lps;
  end;
else
  do;
     visit_time+1;sum_lps+lps;
         if max_lps<lps then do; max_lps=lps;max_time=visit_time;end;
         if min_lps>lps then do; min_lps=lps;min_time=visit_time;end;
  end;
if last.sport then do;avg_lps=sum_lps/visit_time;output;end;
run;



  
  
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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