R语言 使用Order()对数据帧进行排序

在数据分析中,您可以根据数据集中的某个变量对数据进行排序。

在R中,我们可以使用函数order()。我们可以很容易地对连续变量或因子变量的向量排序,比如升序或降序。

语法


sort(x, decreasing = FALSE, na.last = TRUE):

参数

参数 描述
x 包含连续或因子变量的向量
decreasing 控制的排序方法的顺序。默认情况下,递减设置为“FALSE”。
last 指示“NA”的值是否应该放在最后

实例

例如,我们可以创建一个tibble数据帧并对一个或多个变量进行排序。tibble数据帧是一种新的数据帧处理方法。它改进了数据框架的语法,避免了烦人的数据类型格式化,特别是对于字符分解。这也是手工创建数据框架的一种方便方法,也是在这里用的目的。


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)
)
# 按c1排序
df <-data_frame[order(data_frame$c1),]
head(df)

输出结果:


# A tibble: 6 x 5
     c1    c2    c3    c4    c5
      
1  1.48  3.48  4.25  3.69 6.05 
2  1.73  5.82  4.53  6.75 0.150
3  2.56  6.28  2.52  6.37 5.48 
4  2.83  4.77  5.12  3.74 4.01 
5  2.99  4.40  2.08  4.24 4.62 
6  3.12  6.32  5.41  3.55 5.61 

按c3和c4排序

# Sort by c3 and c4 df <-data_frame[order(data_frame$c3, data_frame$c4),] # A tibble: 6 x 5 c1 c2 c3 c4 c5 1 2.99 4.40 2.08 4.24 4.62 2 2.56 6.28 2.52 6.37 5.48 3 3.46 3.91 2.73 9.57 6.02 4 4.23 3.29 3.13 7.52 4.77 5 3.94 2.94 3.24 6.46 3.60 6 3.84 4.95 3.34 4.38 7.24 head(df)

按c3(降序)和c4(增序)排序:


df <-data_frame[order(-data_frame$c3, data_frame$c4),]
head(df)

# A tibble: 6 x 5
     c1    c2    c3    c4    c5
      
1  4.34  4.45  8.09 4.50   8.41
2  3.96  8.11  7.74 7.12   5.43
3  3.34  3.30  7.49 5.93   7.04
4  3.40  5.38  7.09 0.716  5.62
5  6.65  4.73  6.52 0.902  4.51
6  4.56  4.71  6.38 6.06   5.04





公众号

关注公众号,获取一手资讯

“ R语言 使用Order()对数据帧进行排序 ” comments 0

评论/回复

电子邮件地址不会被公开。 必填项已用*标注