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)
推荐阅读
- matlab - 使用 Gurobi 运行 MIQP:如何提高时间性能?
- css - 页脚隐藏内容
- python - Tensorflow 似乎有科学记数法的问题
- java - LinkedList 或 HashSet 等类是否被视为依赖项?
- javascript - 我如何从不同的组件调用默认函数
- matlab - Matlab:按另一个需要年龄的向量对数组进行排序
- javascript - React and Bootstrap Javascript
- azure-devops - Azure 数据工厂 - 下载 Json 定义
- angular - 在我的 angular-cli 项目中从 node-sass 切换到 dart sass
- excel - 如何隐藏 VBA 命名范围中的列?