如何在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
返回四行,因为Team和Position列中有四种唯一的值组合。
其他资源
以下教程解释了如何在 R 中执行其他常见任务:
如何使用dplyr过滤唯一值
如何使用 dplyr 按多个条件进行过滤
如何计算R中列中出现的次数