Stata | 聊聊数据排序的几种方式
时间:2022-07-22
本文章向大家介绍Stata | 聊聊数据排序的几种方式,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
前言
最近在忙着处理一些事情,公众号好久没有更新。虽然后面事情会越来越多,但还是希望能够坚持输出和更新。之前有朋友在后台留言希望有一些基础教程,所以最近打算有空就写点基础文章。如果大家有啥主题或者想了解的方面,欢迎在后台留言,我如果有时间也可以写写。
今天,就一起来看看使用 Stata 实现数据排序的几种方式,分别是:正序、逆序、乱序和自定义排序。
实现过程
正序
sysuse auto, clear
* 单个变量
sort price
*多个变量
sort price rep78
逆序
sysuse auto, clear
* 单个变量
gsort -price
*多个变量
gsort -price rep78 // price逆序,rep78正序
乱序
方式一:-rsort- 命令
使用外部命名 rsort
,需要先输入 ssc install rsort, replace
进行安装,其基本语法如下:
rsort [, options]
options Description
-----------------------------------------------------------
Required for reproducible sorting
id(varlist) ID variable/s uniquely identifying observations
seed(#) random number seed to use
Convenience
by(varlist) sort within groups defined by varlist
generate(sortorder) create variable containing new observation number
replace replace existing sortorder
用法示例:
sysuse auto, clear
rsort, id(price) seed(100) // 按price排序,随机数种子为100
rsort, id(price) seed(100) by(rep78) // 按照rep78分组,并按price排序
方式二:利用随机数
可以先生成随机数,之后按照生成的随机数进行排序,示例如下:
sysuse auto,clear
set seed 100
gen temp = runiform()
sort temp // 按照随机数排序
drop temp
自定义排序
使用外部命令 sortobs
实现按照指定顺序排列观测值,使用前先 ssc install sortobs, replace
进行安装,其基本语法如下:
Sort observations according to a variable's specific values
sortobs varname , values(stringlist) [first last before(string) after(string)]
Sort observations by observation numbers
sortobs , values(numlist) [first last before(#) after(#)]
基本用法示例:
help sortobs
sysuse auto.dta, clear
keep in 1/5
list in 1/5
* 按照make的值,将Buick Electra排在AMC Pacer之后
sortobs make, values("Buick Electra") after("AMC Pacer")
list in 1/5
- Go 语言的基本数据类型
- c语言客户端与go语言服务端通信(网络字节序)
- (译)Go 语言的内存、指针详解
- Redis之并发写入
- Python超过R,成为数据科学和机器学习的最常用语言
- JavaScript 之 this 详解
- Golang 中 for-loop 和 goroutine 的问题
- 【学术】一文教你如何正确利用kNN进行机器学习
- 【学术】机器学习优化函数的直观介绍
- 基于达尔文进化论的遗传算法,还能帮你破解同事的密码?| 附代码
- Vue + Node + Mongodb 开发一个完整博客流程
- Golang中用interface{}接收任何参数与强转
- Machine Box创始人教你快速建立一个ML图像分类器
- 【图解】Web前端实现类似Excel的电子表格
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- FlutterDojo设计之道—状态管理之路(一)
- 即学即用Kotlin - 协程
- redis学习(三)
- update影响行数使用不当造成的bug
- 基于React+Koa实现一个h5页面可视化编辑器-Dooring
- 使用Spring Boot DevTools优化你的开发体验
- 排序算法——一篇文章搞懂常用的排序算法
- 路径寻优
- Milvus 实战 | 基于 Milvus 的 CORD-19 论文检索引擎
- Laravel 8 新特性和功能优化速览
- Linux 搭建 我的世界(MC) 基岩版服务器
- 虚函数、析构函数、静态函数、多态
- 一日一技:pylint除了检查代码风格,还能做这件事情
- Manjaoro ifconfig问题
- 面对成百上千台服务器产生的日志,试试这款轻量级日志搬运神器!