如何使用 dplyr 按名称选择数据框行


您可以使用以下语法通过 dplyr 按名称选择数据框中的行:

 library (dplyr)

#select rows by name
df %>%
  filter(row. names (df) %in% c(' name1 ', ' name2 ', ' name3 '))

以下示例展示了如何在实践中使用此语法。

示例:使用 dplyr 按名称选择行

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

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

#set row names
row. names (df) <- c('Mavs', 'Hawks', 'Cavs', 'Lakers', 'Heat')

#view data frame
df

       points assists rebounds
Mavs 99 33 30
Hawks 90 28 28
Cavs 86 31 24
Lakers 88 39 24
Heat 95 34 28

我们可以使用以下代码来选择行名称等于 Hawks、Cavs 或 Heat 的行:

 library (dplyr)

#select specific rows by name
df %>%
  filter(row. names (df) %in% c(' Hawks ', ' Cavs ', ' Heat '))

      points assists rebounds
Hawks 90 28 28
Cavs 86 31 24
Heat 95 34 28

请注意,dplyr 仅返回名称位于我们提供给filter()函数的向量中的行。

另请注意,您可以使用感叹号 ( ! ) 来选择名称不在向量中的所有行:

 library (dplyr)

#select rows that do not have Hawks, Cavs, or Heat in the row name
df %>%
  filter(!(row. names (df) %in% c(' Hawks ', ' Cavs ', ' Heat ')))

       points assists rebounds
Mavs 99 33 30
Lakers 88 39 24

请注意,dplyr 仅返回名称不在我们提供给filter()函数的向量中的行。

其他资源

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

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

添加评论

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