使用 order() 对数据框进行排序的 R 程序


2023年2月26日, Learn eTutorial
1434

如何在 R 程序中使用 order() 函数对数据框进行排序?

在此 R 程序中,我们使用 order() 函数对数据框进行排序。 order() 函数有助于返回一个排列。它将第一个参数按升序或降序重新排列,并通过后续参数打破平局。

order() 的语法如下:

order(..., na.last = TRUE, decreasing = FALSE,
      method = c("auto", "shell", "radix"))

  • dots(....) 是数值、复数、字符或逻辑向量序列或分类的 R 对象。
  • 如果 na.last 为 TRUE,数据中的缺失值将放在最后;如果为 FALSE,则放在最前面,接下来是要使用的方法,此处允许部分匹配。

在此 R 程序中,我们直接将值赋给内置函数。为此,我们首先使用 seed() 函数,该函数设置用于生成一系列随机数的起始数字。此处 tibble 表示数据框,而 rnorm 是模拟具有指定正态分布的随机变量的 R 函数。最后调用 order() 函数进行排序。

算法

步骤 1:使用 seed() 设置起始数字以生成序列

步骤 2:使用 tibble 定义数据框 

步骤 3:考虑变量 c1、c2、c3、c4、c5 表示数据框

步骤 4:通过调用 order() 对数据框进行排序

步骤 5:将变量 df 赋给函数结果

步骤 6:打印函数结果

 

R 源代码

                                          library(dplyr)
set.seed(1234)
data_frame <- tibble(  
 c1 = rnorm(50, 5, 1.5),   
 c2 = rnorm(50, 5, 1.5),  
 c3 = rnorm(50, 5, 1.5),
 c4 = rnorm(50, 5, 1.5),  
 c5 = rnorm(50, 5, 1.5)
)
# Sort by c1
df <-data_frame[order(data_frame$c1),]
head(df)
                                      

输出

# A tibble: 6 x 5
##       c1       c2       c3       c4       c5
##                     
## 1 1.481453 3.477557 4.246283 3.686611 6.0511003
## 2 1.729941 5.824996 4.525823 6.753663 0.1502718
## 3 2.556360 6.275348 2.524849 6.368483 5.4787404
## 4 2.827693 4.769902 5.120089 3.743626 4.0103449
## 5 2.988510 4.395902 2.077631 4.236894 4.6176880
## 6 3.122021 6.317305 5.413840 3.551145 5.6067027