提问者:小点点

UseMethod("filter_")中的错误:没有适用的filter_方法应用于类"c('double','数字')"的对象


试图过滤数值

C1


共1个答案

匿名用户

正如@stefan所指出的,dplyr中的filter()函数用于过滤数据帧而不是向量。@stefan的建议是将您的向量放在数据帧中(作为一列),然后在其上使用filter()函数。

如果您绝对需要将数据保存在向量中,并且您还想使用tidyverse风格的编码(即使用管道运算符%

library(purrr)

c1 <- c(1000, 200)
 
keep(c1,  ~ .x > 100) # both values in the vector are greater than 100
[1] 1000  200

经过这一切,我个人的观点是base R更适合过滤向量:

c1[c1 > 100]
[1] 1000  200