如何在r中的数据框中选择单行


您可以使用以下方法在 R 中选择数据框中的单行:

方法 1:选择所有列中的单行

 library (dplyr)

df %>% distinct()

方法 2:根据列选择单行

 library (dplyr)

df %>% distinct(column1, . keep_all = TRUE )

方法三:根据多列选择单行

 library (dplyr)

df %>% distinct(column1, column2, . keep_all = TRUE )

本教程通过以下数据框解释了如何在实践中使用每种方法:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'),
                 points=c(10, 10, 8, 14, 15, 15, 17, 17))

#view data frame
df

  team position points
1 AG 10
2 AG 10
3AF 8
4 AF 14
5 BG 15
6 BG 15
7 BF 17
8 BF 17

示例 1:选择所有列中唯一的行

以下代码展示了如何在数据框中的所有列中选择具有唯一值的行:

 library (dplyr)

#select rows with unique values across all columns
df %>% distinct()

  team position points
1 AG 10
2AF 8
3 AF 14
4 BG 15
5 BF 17

我们可以看到数据框中有五个唯一的行。

注意:当遇到重复行时,仅保留第一个唯一行。

示例 2:根据列选择单行

以下代码显示如何仅根据团队列选择单行。

 library (dplyr)

#select rows with unique values based on team column only
df %>% distinct(team, . keep_all = TRUE )

  team position points
1 AG 10
2 BG 15

由于Team列中只有两个唯一值,因此仅保留每个值第一次出现的行。

注意.keep_all=TRUE参数告诉 R 在输出中保留所有其他列。

示例 3:根据多列选择单行

以下代码显示如何仅根据团队位置列选择单行。

 library (dplyr)

#select rows with unique values based on team and position columns only
df %>% distinct(team, position, . keep_all = TRUE )

  team position points
1 AG 10
2AF 8
3 BG 15
4 BF 17

返回四行,因为TeamPosition列中有四种唯一的值组合。

其他资源

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

如何使用dplyr过滤唯一值
如何使用 dplyr 按多个条件进行过滤
如何计算R中列中出现的次数

添加评论

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