【发布时间】:2019-04-09 14:40:09
【问题描述】:
(这个问题可能是重复的,但我找不到它被问到......)
使用dplyr 技术,如何同时通过名称和值从data.frame 中选择列?例如以下(不起作用):
> data.frame(x=4, y=6, z=3) %>%
select_if(matches('x') | mean(.) > 5)
Error: No tidyselect variables were registered
在基础 R 中,我会这样做:
> df <- data.frame(x=4, y=6, z=3)
> df[names(df) == 'x' | colMeans(df) > 5]
x y
1 4 6
【问题讨论】:
-
感谢@RonakShah,这确实看起来非常接近,尽管我的问题是一个更提炼/抽象的版本,而在另一个问题中,他们从来没有像 Andrew 那样得到一个干净利落的答案。跨度>