我的代码如下所示:

library(dplyr)
my_values <- rep(1:10, 10)
my_df <- data.frame(my_values, "points")

user_values <- c(2, 3)

filter(my_df, my_values %in% user_values)

用户提供某些值作为筛选依据.在某些情况下,筛选器不应该是"活动的",这意味着应该保留所有值为"MY_VALUES"的行.

What can I assign to 100 to achieve this?我try 赋值为NULL,但返回0行.如果赋值为TRUE,则会强制将其值设为1.

我知道我可以赋值my_df$my_values(或unique(my_df$my_values)),但当变量有数千个可能取值时,按这个值过滤可能需要很长时间.所以我在寻找一种更优雅的解决方案.

推荐答案

我会用TRUE,因为它在语义上可以理解为"一切".正如@Konrad指出的那样,NULL也是一种 Select ,最终它会分解为你项目中的品味问题/总体惯例:

nrow(my_df)
# [1] 100

user_values <- c(2, 3)
my_df %>% 
   filter(isTRUE(user_values) | my_values %in% user_values) %>%
   nrow()
# [1] 20

user_values <- TRUE
my_df %>% 
   filter(isTRUE(user_values) | my_values %in% user_values) %>%
   nrow()
# [1] 100

user_values <- NULL
my_df %>% 
   filter(is.null(user_values) | my_values %in% user_values) %>%
   nrow()
# [1] 100

R相关问答推荐

如何将具有重复名称的收件箱合并到R中的另一列中,而结果不同?

在数据表中呈现数学符号

根据shiny 应用程序中的数字输入更改图标 colored颜色

无法将传奇添加到cowplot多情节中

查找图下的面积

带有叠加饼图系列的Highmap

pickerInput用于显示一条或多条geom_hline,这些线在图中具有不同 colored颜色

如何从R中的字符串元素中减go 一个数字?

为什么横向页面会导致officeverse中的页码/节头/页脚出现问题?

如何动态更新selectizeInput?

如何将旋转后的NetCDF转换回正常的纬度/经度网格,并使用R?

如何得到R中唯一的组合群?

如何创建累加到现有列累计和的新列?

R中Gamma回归模型均方误差的两种计算方法不一致

'使用`purrr::pwalk`从嵌套的嵌套框架中的列表列保存ggplots时出现未使用的参数错误

根据r中每行中的日期序列,使用列名序列创建新列

替换在以前工作的代码中有x行&q;错误(geom_sf/gganimate/dow_mark)

禁用时,SelecizeInput将变得不透明

将字符变量出现次数不相等的字符框整形为pivot_wider,而不删除重复名称或嵌套字符变量

修复标签重叠和ggploy内的空间