小编Ani*_*ill的帖子

列名包含模式的过滤变量

我试图筛选出NANaNInf值一出来tbl使用dyplrfilter功能。

诀窍是我只想将过滤器应用于名称包含特定模式的列。模式为:r1、r2、r3等。

我试图结合grepfilter实现这一点,但无法让它发挥作用。我当前的代码如下所示:

filter_(!is.na(grep("r[1-9]", colnames(DF), value = TRUE)) 
& !is.infinite(grep("r[1-9]", colnames(DF), value = TRUE)) 
& !is.nan(grep("r[1-9]", colnames(DF), value = TRUE)))
Run Code Online (Sandbox Code Playgroud)

但是,此代码会返回一条警告消息:“Truncating vector to length 1”。并且返回的数据是未经过滤的。

我怀疑它是is.na这里的功能所引起的问题,因为我已经看到了一个例子网上,你可以申请grepfilter使用正常的状态(即condition == value)和基于没有条件is.na

regex r dplyr tidyverse

2
推荐指数
2
解决办法
3618
查看次数

标签 统计

dplyr ×1

r ×1

regex ×1

tidyverse ×1