A:如何使用 row.names 属性对数据框进行排序


您可以使用以下两种方法使用row.names属性对 R 中的数据帧进行排序:

方法1:使用row.names字符排序

 df[order( row.names (df)), ]

方法 2:使用数字 row.names 排序

 df[order(as. numeric (row. names (df))), ]

以下示例展示了如何在实践中使用每种方法。

示例 1:使用字符行名称对数据框进行排序

假设我们在 R 中有以下数据框:

 #create data frame
df <- data. frame (position=c('G', 'G', 'F', 'F', 'C'),
                 points=c(99, 90, 86, 88, 95),
                 assists=c(33, 28, 31, 39, 34),
                 rebounds=c(30, 28, 24, 24, 28))

#set row names of data frame
row. names (df) <- c('A', 'C', 'E', 'D', 'B')

#view data frame
df

  position points assists rebounds
GA 99 33 30
CG 90 28 28
EF 86 31 24
FD 88 39 24
BC 95 34 28

我们可以使用以下语法使用row.names属性按字母顺序对数据框中的行进行排序:

 #sort rows alphabetically using row.names
df[order( row.names (df)), ]

  position points assists rebounds
GA 99 33 30
BC 95 34 28
CG 90 28 28
FD 88 39 24
EF 86 31 24

行根据行名称值从 A 到 Z 排序。

您还可以使用参数Descending=TRUE从 Z 到 A 排序:

 #sort rows from Z to A using row.names
df[order(row. names (df), decreasing= TRUE ), ]

  position points assists rebounds
EF 86 31 24
FD 88 39 24
CG 90 28 28
BC 95 34 28
GA 99 33 30

示例 2:使用数字行名称对数据框进行排序

假设我们在 R 中有以下数据框:

 #create data frame
df <- data. frame (position=c('G', 'G', 'F', 'F', 'C'),
                 points=c(99, 90, 86, 88, 95),
                 assists=c(33, 28, 31, 39, 34),
                 rebounds=c(30, 28, 24, 24, 28))

#set row names of data frame
row. names (df) <- c(1, 100, 4, 12, 19)

#view data frame
df

    position points assists rebounds
1G 99 33 30
100G 90 28 28
4 F 86 31 24
12 F 88 39 24
19 C 95 34 28

我们可以使用以下语法使用row.names属性对数据框中的行进行排序:

 #sort by row names from smallest to largest
df[order(as. numeric (row. names (df))), ]

    position points assists rebounds
1G 99 33 30
4 F 86 31 24
12 F 88 39 24
19 C 95 34 28
100G 90 28 28

我们还可以使用降序=TRUE从最大到最小排序:

 #sort by row names from largest to smallest
df[order(as. numeric (row. names (df)), decreasing= TRUE ), ]

    position points assists rebounds
100G 90 28 28
19 C 95 34 28
12 F 88 39 24
4 F 86 31 24
1G 99 33 30

其他资源

以下教程解释了如何在 R 中执行其他常见操作:

如何在 R 中使用 sort()、order() 和 Rank()
R中如何按多列排序
如何在 R 中按日期对数据框进行排序

添加评论

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