我有一张桌子,如下所示:

date  user  X1 X2 X3
1/1     1    0  3 34 
2/1     1    0  7 65
3/1     1    0  0  0
4/1     1   25  4 65
1/1     2  285  0  0
2/1     2    0  0  0
3/1     2    0 54  0
4/1     2    0  0  0

如何使用dplyr为所有X Select 仅在最后可用日期(4/1)具有非零数据的用户?在这种情况下,应该删除user 2.谢谢

推荐答案

另一个选项是使用anyc_across来判断值是否为0,最后row_number的值是否如下所示:

library(dplyr)
df %>%
  group_by(user) %>%
  filter(any(c_across(starts_with("X")) != 0 & row_number() == n()))
#> # A tibble: 4 × 5
#> # Groups:   user [1]
#>   date   user    X1    X2    X3
#>   <chr> <int> <int> <int> <int>
#> 1 1/1       1     0     3    34
#> 2 2/1       1     0     7    65
#> 3 3/1       1     0     0     0
#> 4 4/1       1    25     4    65

创建于2023-03-15,第reprex v2.0.2

R相关问答推荐

R的法国工作日

插入指示行之间时间间隔的新行

在ComplexHeatmap中,如何更改anno_barplot()标题的Angular ?

使用gggplot 2在R中重新调整面板和y轴文本大小

查找满足SpatRaster中条件的单元格位置

geom_Ribbon条件填充创建与数据不匹配的形状(ggplot 2 r)

在R底座中更改白天和夜晚的背景 colored颜色

从嵌套列表中智能提取线性模型系数

ggplot geom_smooth()用于线性回归虚拟变量-没有回归线

隐藏e_mark_line的工具提示

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

如何在编辑列时更新可编辑数据表,并使用该表在Shiny中执行连续计算

在GGPLATE中将突出的点放在前面

错误:非常长的R行中出现意外符号

在R中按行按列范围查找最大值的名称

如何删除设置大小的曲线图并添加条形图顶部数字的百分比

通过初始的shiny 应用更新部署的shiny 应用的数据和参数,其中部署的应用程序显示为URL

变长向量的矢量化和

数据集上的R循环和存储模型系数

在同一单元格中创建包含整数和百分比的交叉表