A:如何过滤列位于两个值之间的行


您可以使用以下方法来过滤 R 中特定列介于两个值之间的数据框:

方法一:使用Base R

 df_new <- subset(df, points %in% 100 : 120 )

方法2:使用dplyr

 library (dplyr)

df_new <- df %>% filter(between(points, 100 , 120 ))

这两个示例都会过滤数据框以仅包含Points列中的值介于100120之间的行。

以下示例展示了如何在 R 中使用以下数据框实际使用每种方法:

 #create data frame
df <- data. frame (team=c('Mavs', 'Pacers', 'Mavs', 'Celtics', 'Nets', 'Pacers'),
                 points=c(104, 110, 134, 125, 114, 124),
                 assists=c(22, 30, 35, 35, 20, 27))

#view data frame
df

     team points assists
1 Mavs 104 22
2 Pacers 110 30
3 Mavs 134 35
4 Celtics 125 35
5 Nets 114 20
6 Pacers 124 27

示例 1:使用 Base R 过滤列位于两个值之间的位置

我们可以使用以下语法与 R 基subset()函数来过滤数据框,以仅包含列中的值在 100 到 120 之间的行:

 #filter for rows where value in points column is between 100 and 120
df_new <- subset(df, points %in% 100 : 120 ) 

#view updated data frame
df_new

    team points assists
1 Mavs 104 22
2 Pacers 110 30
3 Nets 114 20

请注意,仅保留列中的值在 100 到 120 之间的行。

值超出此范围的所有其他行都将被删除。

示例 2:使用 dplyr 过滤列位于两个值之间的位置

我们可以使用以下语法与 R 中 dplyr 包的filter()Between()函数来过滤数据框,以仅包含列中的值在 100 到 120 之间的行:

 library (dplyr)

#filter for rows where value in points column is between 100 and 120
df_new <- df %>% filter(between(points, 100 , 120 ))

#view updated data frame
df_new

    team points assists
1 Mavs 104 22
2 Pacers 110 30
3 Nets 114 20

请注意,仅保留列中的值在 100 到 120 之间的行。

另请注意,此方法产生与基本 R 方法相同的结果。

注意:您可以在 dplyr找到过滤器函数的完整文档。

其他资源

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

如何使用 %in% 过滤 R 中列表中具有值的行
如何使用 dplyr 按多个条件进行过滤
如何使用 dplyr 过滤包含特定字符串的行

添加评论

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