考虑以下数据集:

data <- tibble(
  group = rep(1:4, 40),
  year = rep(1980:2019, 4),
  col= rnorm(160)
)

我想对数据进行如下筛选:

获取第1组和第2组的col值大于零,第3组和第4组的col值小于零的子集

推荐答案

这是另一种直接用数学而不是%in% Select 的方法

data %>% filter(col * sign((group < 3) - 0.5) > 0)
#> # A tibble: 76 x 3
#>    group  year    col
#>    <int> <int>  <dbl>
#>  1     2  1985  2.20 
#>  2     3  1986 -0.205
#>  3     4  1991 -2.10 
#>  4     3  1994 -0.113
#>  5     2  1997  1.90 
#>  6     1  2000  1.37 
#>  7     3  2002 -0.805
#>  8     4  2003 -0.535
#>  9     1  2004  0.792
#> 10     3  2006 -1.28 
#> # ... with 66 more rows

R相关问答推荐

R根据名称的载体对收件箱列采取行动

如何判断R中一列的值是否在所有其他列中重复?

通过Plotly绘制线串几何形状的3D图

如何将y轴上的线定位得彼此更近

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

如何使用geom_sf在边界显示两种 colored颜色 ?

使用R中的gt对R中的html rmarkdown文件进行条件格式设置表的单元格

在ggplot Likert条中添加水平线

从API中抓取R数据SON

带有gplot 2的十字舱口

使用tidyverse / Mutate的存款账户余额

在ggplot2的框图中绘制所有级别的系数

如何将SAS数据集的列名和列标签同时包含在r中GT表的表首?

如何识别倒排的行并在R中删除它们?

如何将网站图像添加到带有极坐标的面包裹条形图?

调换行/列并将第一行(原始数据帧的第一列)提升为标题的Tidyr类似功能?

使用R将简单的JSON解析为嵌套框架

在ggplot2上从多个数据框创建复杂的自定义图形

在ggplot2图表中通过端点连接点

GOGPLATE geom_boxploy色彩疯狂