r - 使用 dplyr 包进行过滤

标签 r dplyr

我的数据集设置如下:

User   Day
 10      2
 1       3
 15      1
 3       1
 1       2
 15      3
 1       1

我试图找出所有三天都在场的用户。我使用 dplyr 包使用以下代码:

MAU%>%
  group_by(User)%>%
  filter(c(1,2,3) %in% Day)   

  # but get this error message: 
  # Error in filter_impl(.data, quo) : Result must have length 12, not 3

知道如何解决吗?

最佳答案

使用末尾注释中重复显示的输入,计算不同用户的数量并过滤掉 3 天的用户:

library(dplyr)

DF %>%
  distinct %>%
  count(User) %>%
  filter(n == 3) %>%
  select(User)

给予:

# A tibble: 1 x 1
   User
  <int>
1     1

注意

Lines <- "
User   Day
 10      2
 1       3
 15      1
 3       1
 1       2
 15      3
 1       1"
DF <- read.table(text = Lines, header = TRUE)

关于r - 使用 dplyr 包进行过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54887548/

相关文章:

regex - 在R中按最后一个空格分割字符串

r - 循环保持变量名 R

r - 使用纬度/经度坐标创建六边形单元格

r - Sparklyr:如何将列表列分解为 Spark 表中自己的列?

r - 如何根据正则表达式在 dplyr 中分隔列

r - 使用存储在不同数据框中的值来改变数据框的列

r - 为多个组生成具有不同颜色的ggplot2 boxplot

r - 如何为 R 中散点图中的类赋予颜色?

r - 是否存在用于与all = TRUE合并的R dplyr方法?

r - dplyr:子集、总结和变异新函数的工作流程