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列中的值介于100和120之间的行。
以下示例展示了如何在 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 过滤包含特定字符串的行