如何在 r 中按列对数据框进行排序(带有示例)


在 R 中按列对数据框进行排序的最简单方法是使用order()函数:

 #sort ascending
df[ order (df$var1), ]

#sort descending
df[ order (-df$var1), ]

本教程提供了几个示例,说明如何通过以下数据框实际使用此函数:

 #create data frame
df <- data. frame (var1=c(1, 3, 3, 4, 5),
                 var2=c(7, 7, 8, 3, 2),
                 var3=letters[1:5])

#view data frame
df

  var1 var2 var3
1 1 7 a
2 3 7b
3 3 8 c
4 4 3 d
5 5 2nd

示例 1:按列排序

以下代码显示如何按列var1对数据框进行升序和降序排序:

 #sort by var1 ascending
df[ order (df$var1), ]

  var1 var2 var3
1 1 7 a
2 3 7b
3 3 8 c
4 4 3 d
5 5 2nd

#sort by var1 descending
df[ order (-df$var1), ]

  var1 var2 var3
5 5 2nd
4 4 3 d
2 3 7 b
3 3 8 c
1 1 7 a

请注意,我们还可以按字符向量字母顺序排序:

 #sort by var3 ascending
df[ order (df$var3), ]

  var1 var2 var3
1 1 7 a
2 3 7 b
3 3 8 c
4 4 3 d
5 5 2nd

示例 2:对多列进行排序

以下代码显示了如何按多列对数据框进行排序:

 #sort by var2 ascending, then var1 ascending
df[ order (df$var2, df$var1), ]

  var1 var2 var3
5 5 2nd
4 4 3 d
1 1 7 a
2 3 7b
3 3 8 c

#sort by var2 ascending, then var1 descending
df[ order (df$var2, -df$var1), ]

  var1 var2 var3
5 5 2nd
4 4 3 d
2 3 7b
1 1 7 a
3 3 8 c

其他资源

如何在 R 中向数据框添加列
如何在 R 中按日期对数据框进行排序
如何在R中将字符转换为数字

添加评论

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