SAS 按自定义顺序对观测进行排序
本文链接:https://www.cnblogs.com/snoopy1866/p/15091967.html
实际项目中会经常遇到按指定顺序输出Listing的情况,例如:输出所有受试者的分组情况列表。
首先准备数据集:
data data1;
input name $ arm $;
cards;
AXLD 试验组
GCHS 对照组
IJNK 对照组
OKLS 试验组
NJDK 试验组
PLDF 对照组
TGSJ 试验组
IDNG 对照组
;
run;
然后使用proc format过程创建一个自定义输出格式,这里创建了一个$arm.的输出格式,我们希望被分配到试验组的受试者应该排在对照组的前面。
proc format;
value $arm
"试验组" = 1
"对照组" = 2;
run;
使用SQL过程选择数据集data1中所有观测,并使用order by语句对数据集data1按照变量arm在$arm.输出格式下的值进行排序。
proc sql noprint;
create table data2 as
select * from data1
order by put(arm, $arm.);
quit;
输出结果如图:

如果想对多个变量进行自定义排序,可创建多个对应的输出格式,并使用order by语句同时对多个变量在各自输出格式下的值进行排序即可。
例如:下述代码同时对性别和组别进行自定义排序。
data data1;
input name $ sex $ arm $;
cards;
AXLD F 试验组
GCHS F 对照组
IJNK M 对照组
OKLS M 试验组
NJDK F 试验组
PLDF F 对照组
TGSJ M 试验组
IDNG M 对照组
;
run; proc format;
value $arm
"试验组" = 1
"对照组" = 2;
value $sex
"F" = 1
"M" = 2;
run; proc sql noprint;
create table data2 as
select * from data1
order by put(arm, $arm.), put(sex, $sex.);
quit;
SAS 按自定义顺序对观测进行排序的更多相关文章
- ORACLE自定义顺序排序-转
ORACLE可以借助DECODE函数,自定义顺序排序: select * from ( select 'Nick' as item from dual union all select 'Viki' ...
- ORACLE自定义顺序排序
ORACLE可以借助DECODE函数,自定义顺序排序: select * from ( select 'Nick' as item from dual union all select 'Viki' ...
- SQL按照指定顺序对字段进行排序
SqlServer按照指定顺序对字段进行排序 问题如下,在SqlServer有一个这样的SQL查询 SELECT *FROM ProductWHERE ID IN ( 12490, 12494, 12 ...
- 【C#】 List按指定字段的给出的自定义顺序进行排序
#引言 有一个集合,对其进行排序,排序规则为:按对象中某个字段的特定顺序进行排序,比如:对象属性id,按照[4,2,5,1]的顺序排序: #代码: public class Foo { public ...
- Spring Cloud Gateway自定义过滤器实战(观测断路器状态变化)
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- 扩展GridView实现的一个自定义无刷新分页,排序,支持多种数据源的控件TwfGridView
最近项目View层越来越趋向于无刷新化,特别是数据展示方面,还要对Linq有很好的支持.在WebFrom模式的开发中,GridView是一个功能很强大,很常用的控件,但是他也不是完美的,没有自带的无刷 ...
- 使用knockout-sortable实现对自定义菜单的拖拽排序
在开始之前,照例,我们先看效果和功能实现. 关于自定义菜单的实现,这里就不多说了,需要了解的请访问:http://www.cnblogs.com/codelove/p/4838766.html 这里需 ...
- 一起学Hadoop——使用自定义Partition实现hadoop部分排序
排序在很多业务场景都要用到,今天本文介绍如何借助于自定义Partition类实现hadoop部分排序.本文还是使用java和python实现排序代码. 1.部分排序. 部分排序就是在每个文件中都是有序 ...
- 各种Map的区别,想在Map放入自定义顺序的键值对
今天做统计时需要对X轴的地区按照地区代码(areaCode)进行排序,由于在构建XMLData使用的map来进行数据统计的,所以在统计过程中就需要对map进行排序. 一.简单介绍Map 在讲解Map排 ...
随机推荐
- Java synchronized对象级别与类级别的同步锁
Java synchronized 关键字 可以将一个代码块或一个方法标记为同步代码块.同步代码块是指同一时间只能有一个线程执行的代码,并且执行该代码的线程持有同步锁.synchronized关键字可 ...
- 【模板】Linux下输出文件的对比
命令格式: diff+[参数]+[文件1或目录1]+[文件2或目录2] 命令参数: 指定要显示多少行的文本.此参数必须与-c或-u参数一并使用. -a或--text diff预设只会逐行比较文本文件. ...
- Java-Java8特性(更新中)
Java8新特性 之前零零散散写了很多java8的内容,今天做一个整理,也算是整理用到的内容,当然细化的话还有很多,只是说暂时用不到,为了面试的话已经够了 日期计算 Lambda表达式 函数式接口(比 ...
- BGP路由技术
BGP路由技术 目录 一.BGP概述 1.1.自治系统 1.2.动态路由分类 1.3.BGP概念 1.4.BGP的特征 1.5.BGP工作原理 二.命令配置 2.1.BGP配置思路 2.2.命令 一. ...
- UGUI ScrollRect 鼠标滑动灵敏度调节
- sonarqube 8.9版本配置收邮件提醒
# admin登陆系统后,进入我的账户(每个用户的配置过程类似) sonarqube 8.9版本配置发信请参考我的另一篇博文: 链接如下: https://www.cnblogs.com/cndevo ...
- MySql:Navicat 连接不上虚拟机上的mysql容器
1.问题显示 通过windows主机navicat连接虚拟的mysql时报如下错误. 2.问题原因 由于navicat版本的问题,出现连接失败的原因:mysql8 之前的版本中加密规则是mysql_n ...
- [心得]redis集群环境搭建的错误
安装redis集群需要版本号在3.0以上 redis-cluster安装前需要安装ruby环境 搭建集群需要使用到官方提供的ruby脚本. 需要安装ruby的环境. yum -y install ru ...
- logback学习与配置使用
Logback介绍 Logback 分为三个模块:Core.Classic 和 Access.Core模块是其他两个模块的基础. Classic模块扩展了core模块. Classic模块相当于log ...
- macos 安装telnet命令
在10.12及以下版本,都内置了telnet命令,但是在10.13中,已经取消了 接下来给大家介绍下如何安装telnet命令 打开"终端",输入: /usr/bin/ruby -e ...