在对数据进行分析时|数据分析函数sort、order、rank三个函数的功用

在对数据进行分析时 , 数据排序是我们经常需要进行的应用操作 , 在R语言中 , 也有几个函数可以帮助我们快速实现数据排序的操作 , 我们一起来了解一下他们不同的功用 。
01Sort函数
在R语言中 , 函数Sort用于对向量以上升的顺序进行排序 。 例如 , 我们要查看数据集murders中murdersnumber从小到大排序 , 如下:
在对数据进行分析时|数据分析函数sort、order、rank三个函数的功用
文章图片
不过使用函数Sort(如上图所示) , 仅为我们提供了从小到大排序的数量(或数值)的多少 , 并未告知我们相应数值对应的state信息(即具体是哪个state的murders数量小 , 哪个大) 。
02Order函数
在R语言中 , 函数Order返回向量排序的索引 。 如下 , 我们先定义一个向量x , 再使用函数Sort对其进行排序 。
定义另一个向量index , 使用函数Order获取该向量的排序的索引 , 通过使用该索引 , 我们又可以返回向量中的元素 。 这种方法和使用函数Sort返回的结果是一样的 。
在对数据进行分析时|数据分析函数sort、order、rank三个函数的功用
文章图片
我们把向量x列出来 , 函数Order把向量x的各个元素排序的索引列出来 。 向量x中最小的元素是“5” , 它在向量中的索引是第二个 , 所以函数Order返回的第一个是“2” , 第二小的元素是“12” , 在向量中的索引是第三个 , 所以返回是“3” , 以此类推 。
我们将函数Order应用到murders数据集的案例中 , 定义向量index , 通过Order获取各个state的murders数量从小到大的索引 , 再由数据集中的state缩写以及全称通过index来返回murders数量从小到大对应的具体是哪个state 。
在对数据进行分析时|数据分析函数sort、order、rank三个函数的功用
文章图片
由上述操作可知 , murders$total最小的是Vermont(“VT”)这个state , 最大的是California(“CA”) 。
03Max函数与Which.Max函数
如果我们要快速获取某个数据集中最大或最小的数据值及对应的信息 , 可以通过Max和Which.Max函数获取最大值 , 反之 , Min和Which.Min函数获取最小值 。
函数Max获取最大的数值 , Which.Max获取该数据在其向量中的索引;再由该索引 , 可获取该数值对应的是哪个state 。
在对数据进行分析时|数据分析函数sort、order、rank三个函数的功用
文章图片
04Rank函数
关于排序 , 还有一个函数Rank , 该函数用于返回向量中的元素在其从小到大排序的对应的顺序值 。
如下向量x中 , 元素“30”在五个元素中是第三小 , 其对应的顺序值为“3” , 元素“5”为最小值 , 其对应的顺序值为“1” 。
在对数据进行分析时|数据分析函数sort、order、rank三个函数的功用
文章图片
我们来简单总结一下以上所提到的Sort、Order、Rank三个函数 , 将其放在一个表中进行对照 , 如下:
在对数据进行分析时|数据分析函数sort、order、rank三个函数的功用
文章图片
在对数据进行分析时|数据分析函数sort、order、rank三个函数的功用】函数Rank是根据原始向量中各个元素的原始位置获取其从大到小的排序值 , 函数Sort返回的是经过排序后的原始向量中的数据值 , 函数Order返回的是排序后各个元素在原始向量中的索引(我们可以将其看作为一个数组中的索引) 。