R中的Order()函数

时间:2020-02-23 14:43:52  来源:igfitidea点击:

R中的order()函数在根据特定变量对特定数据值进行排序时非常有用。

大家好,更改数据框或者向量中存在的值或者元素的顺序在数据分析中非常有效。
因此,本R教程侧重于用于对数据进行排序的order()函数。

让我们从语法开始

Order()= order()函数将根据给定的参数排列数据或者对数据进行排序。

order(x,decreasing=F,na.last=NA)

其中:

  • x =数据帧或者向量

  • reduction =以递减的方式对数据进行排序,默认情况下为FALSE。

  • na.last =将NA元素移到最后,否则,也将NA放在第一个。

在R中订购简单向量

在本节中,我们可以尝试订购其中包含某些值的简单向量。
让我们利用order()函数对值进行排序。

这是一个简单的向量,现在我们可以尝试对值进行排序。

#creates a vector 
x<-c(3.5,7.8,5.6,1.1,2.9,4.4)

#orders the values in the vector in an ascending or increasing fashion
x[order(x)]

您将获得以递增方式排列的值,因为默认情况下该参数设置为减少=F。

输出= 1.1 2.9 3.5 4.4 5.6 7.8

上面的输出显示了升序,现在让我们以递减的方式对值进行排序。

#creates a vector
x<-c(3.5,7.8,5.6,1.1,2.9,4.4)

#orders the data in the decreasing fashion 
x[order(x,decreasing = T)]

输出= 7.8 5.6 4.4 3.5 2.9 1.1

升序和降序

借助order()函数,您还可以轻松地对值进行递增和递减排序。
让我们看看它是如何工作的。

让我们使用"标题"功能创建一个数据框。

Tibble:R中的Tibble被广泛用于生成具有随机值的数据帧。
它也可以包括多个行和列。

#import the required package
library(dplyr)

#creates a data frame with normal distribution values. 
df<-tibble(
column1=rnorm(5,5,1.5),
column2=rnorm(5,5,1.5),
column3=rnorm(5,5,1.5),
column4=rnorm(5,5,1.5))

使用tibble功能创建的数据帧如下所示。

让我们对这个数据框中的特定列进行排序。

#orders the values in the column 1
df[order(df$column1),]

正如您在上面的输出中可以看到的那样,列1的排序方式是递增的。

让我们看看如何在数据框中对列进行排序,以及如何使用"-"(负号)对值进行递减排序。

#orders the values [decresing the column values]
df[order(-df$column1),]

如您在上面的代码段中所见,第1列由负的"-"号表示后退,表示降序。
像这种方法一样,您也可以更改排序方式,而不必像语法和上面的示例中所示提到参数。

对矩阵中的值进行排序

订购矩阵会令人兴奋,不是吗?好吧,在本节中,我们尝试创建一个矩阵,然后,我们还将使用order()函数对该矩阵进行排序。

让我们看看它是如何工作的。

#creates a 5x5 matrix having values from 1 to 25
x<-matrix(1:25,5,5)
x

我们创建了一个5×5矩阵,其中矩阵中的值为1:25,即1到25之间的数字。

#orders the column1 in the matrix
x[order(x[,1],decreasing = T),]

在上面的输出中,您可以看到矩阵中存在的值以递减的方式排序。
您还可以通过在上面的代码中提及reduction = F来以升序方式对矩阵重新排序。

在数据框中排序值

到目前为止,我们已经讨论了许多示例。
现在,作为最后一步,我们将订购数据框,因为这是我们的最终动机。
因为最后我们所有人都必须处理数据集。
因此,对数据集进行工作或者练习对我们所有人都将真正有帮助。

让我们看看它是如何工作的。

首先,我们将导入一个数据集,其中还将应用所有讨论的技术和主题。

以下是"空气质量"数据集的数据,通常在R中默认情况下可用。

我特别选择"空气质量"数据集,因为它也包含NA值。
因此,让我们将以上各节中的所有发现应用到该数据集中,并对值进行排序。

我们正在对数据集中的"臭氧"列值进行操作。

#orders the values by eliminating NA values in Ozone column 
x[order(x$Ozone,decreasing = F,na.last = NA),]

从上面的输出中可以看到,所有NA值都将被na.last = NA命令排除。
您还可以观察到这些值也以递增的方式排列。

现在,让我们以递减的方式对值进行排序。

x[order(x$Ozone,decreasing = T,na.last = NA),]