A:如何找到唯一值并对其进行排序


您可以使用以下方法来查找唯一值,然后在 R 中对它们进行排序:

方法一:查找向量中唯一的值并对它们进行排序

 #get unique values sorted in ascending order
sort(unique(data))

方法2:查找数据框中唯一的行并对它们进行排序

 #remove duplicate rows in data frame
df_new = df[!duplicated(df), ]

#display unique rows sorted by values in specific column
df_new = df_new[order(df_new$my_column), ]

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

示例1:在向量中查找唯一值并对它们进行排序

假设我们在 R 中有以下向量:

 #create vector of values
data <- c(2, 2, 4, 7, 2, 4, 14, 7, 10, 7)

我们可以使用以下语法来查找向量中的唯一值并对它们进行排序:

 #get unique values sorted in ascending order
sort(unique(data))

[1] 2 4 7 10 14

请注意,向量的唯一值按升序返回。

我们还可以使用降序=TRUE参数来按降序对唯一值进行排序:

 #get unique values sorted in descending order
sort(unique(data), decreasing= TRUE )

[1] 14 10 7 4 2

请注意,向量的唯一值按降序返回。

示例2:查找数据框中唯一的值并对它们进行排序

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

 #create data frame
df <- data. frame (team=c('A', 'B', 'A', 'A', 'A', 'B', 'B', 'B', 'A', 'B'),
                 points=c(2, 10, 7, 7, 2, 4, 14, 7, 2, 7))

#view data frame
df

   team points
1 TO 2
2 B 10
3 to 7
4 to 7
5 to 2
6 B 4
7 B 14
8 B 7
9 to 2
10 B 7

我们可以使用以下语法来查找数据框中的唯一行并根据团队列值对它们进行排序:

 #remove duplicate rows in data frame
df_new = df[ ! duplicated(df), ]

#sort unique rows based on values in team column
df_new = df_new[order(df_new$team, df_new$points), ]

#view new data frame
df_new

  team points
1 TO 2
3 to 7
2 B 4
6 B 7
7 B 10
8 B 14

请注意,将返回唯一的行,并根据Team列中的值和Points列中的值进行排序。

如何在 R 中使用 sort()、order() 和 Rank()

其他资源

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

如何计算R中列中的唯一值
如何在R中的数据框中选择单行
如何在 R 中找到两个向量的所有唯一组合

添加评论

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