【发布时间】:2022-11-12 16:38:28
【问题描述】:
我有数据框”:
a <- data.frame(b_1=c(0.03,2.241,5.72,0.3566,1.344,2.5))
我想使用过滤器
a <- a %>% filter(b_1 %in% 0.)
所以我排除了不在0中的行,...在b_1中。
但是上面的代码不起作用
结果是 0.03 和 0.3566
我有一个大数据,所以它只是一个我想要过滤的示例数据框。感谢您的帮助
【问题讨论】:
我有数据框”:
a <- data.frame(b_1=c(0.03,2.241,5.72,0.3566,1.344,2.5))
我想使用过滤器
a <- a %>% filter(b_1 %in% 0.)
所以我排除了不在0中的行,...在b_1中。
但是上面的代码不起作用
结果是 0.03 和 0.3566
我有一个大数据,所以它只是一个我想要过滤的示例数据框。感谢您的帮助
【问题讨论】:
%in% 正在寻找固定匹配,并且没有一个元素会满足该标准。我们可以使用str_detect 的子字符串匹配
library(dplyr)
library(stringr)
a %>%
filter(str_detect(b_1, '^0\.'))
或在base R
subset(a, grepl("^0\.", b_1))
【讨论】:
这会起作用吗:
a %>% filter(between(b_1, -1, 1))
b_1
1 0.0300
2 0.3566
【讨论】: