如何在与dplyr链接时对 vector 进行 slice
v <- 1:10
#can be easily done with
v[v > 5]
#use chaining
v %>% ??
我想让自己习惯于链接...
最佳答案
使用这个:
library(magrittr)
v <- 1:10
尝试以下任何一种方法:
1)从magrittr中提取使用
extract
v %>% extract(. > 5)
## [1] 6 7 8 9 10
2)[
extract
是[
的同义词,因此它也可以使用:v %>% `[`(. > 5)
## [1] 6 7 8 9 10
3)子集这类似于,但使用
subset
代替extract
或[
:v %>% subset(. > 5)
## [1] 6 7 8 9 10
4)过滤器 R为函数式编程提供
Filter
函数:v %>% Filter(f = . %>% { . > 5 })
## [1] 6 7 8 9 10
4a)相同,但是使用普通的匿名函数表示法:
v %>% Filter(f = function(x) x > 5)
## [1] 6 7 8 9 10
更新:添加了其他解决方案,重新排列并添加了标题。
关于r - 在dplyr的链接操作中切片向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45355038/