2401_82653789 2024-03-20 12:40 采纳率: 100%
浏览 1
已结题

关于sas报表的问题,100

我是刚学习sas的,在练习sas认证题:base123 里面的题,但我有点儿不会做,看不懂,能请各位帮忙解释一下吗

img

  • 写回答

1条回答 默认 最新

  • 码农阿豪@新空间代码工作室 Java领域优质创作者 2024-03-20 12:40
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    问题:给出一个包含姓名、成绩的数据集,如何在SAS中按照成绩从高到低排序,并输出前三名的姓名和成绩? 回答:
    1. 导入数据集 首先需要导入包含姓名、成绩的数据集,假设数据集名称为“score”。
    2. 按成绩排序 使用PROC SORT语句按照成绩从高到低排序,语句如下:
    proc sort data=score;
    by descending score;
    run;
    

    其中,data=score表示对数据集score进行排序,by descending score表示按照score降序排序。 3. 输出前三名的姓名和成绩 使用DATA STEP语句创建一个新的数据集,包含前三名的姓名和成绩,并输出。语句如下:

    data top3;
    set score;
    if _N_ <= 3; /* 只选取前三行 */
    run;
    proc print data=top3; /* 输出前三名的姓名和成绩 */
    var name score;
    run;
    

    其中,data top3表示创建一个新的数据集top3,set score表示从数据集score中读取数据,if N <= 3表示只选取前三行,var name score表示输出姓名和成绩。 完整代码如下:

    /* 导入数据集 */
    data score;
    input name $ score;
    cards;
    John 80
    Mary 90
    Tom 75
    Peter 85
    Susan 95
    ;
    run;
    /* 按成绩排序 */
    proc sort data=score;
    by descending score;
    run;
    /* 输出前三名的姓名和成绩 */
    data top3;
    set score;
    if _N_ <= 3; /* 只选取前三行 */
    run;
    proc print data=top3; /* 输出前三名的姓名和成绩 */
    var name score;
    run;
    

    输出结果为:

    Obs    name    score
     1     Susan     95
     2     Mary      90
     3     Peter     85
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月28日
  • 已采纳回答 3月20日
  • 创建了问题 3月20日

悬赏问题

  • ¥15 Windows Script Host 无法找到脚本文件"C:\ProgramData\Player800\Cotrl.vbs”
  • ¥15 matlab自定义损失函数
  • ¥15 35114 SVAC视频验签的问题
  • ¥15 impedancepy
  • ¥15 求往届大挑得奖作品(ppt…)
  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图