正如@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