r - R中按操作分组中最常见的因素
问题描述
我有一个这样的数据框:
ID_CLI | 搅动 |
---|---|
12 | 0 |
12 | 0 |
25 | 1 |
25 | 1 |
25 | 1 |
27 | 0 |
我想在 ID_CLI 上分组并有这样的输出:
ID_CLI | 搅动 |
---|---|
12 | 0 |
25 | 1 |
27 | 0 |
解决方案
这是一种dplyr
方法。
library(dplyr)
df1 %>%
count(ID_CLI, CHURN) %>%
group_by(ID_CLI) %>%
slice_max(order_by = n, n = 1) %>%
select(-n)
## A tibble: 3 x 2
## Groups: ID_CLI [3]
# ID_CLI CHURN
# <int> <int>
#1 12 0
#2 25 1
#3 27 0
和一个基本的 R 方式。
df2 <- local({
tbl <- table(df1)
data.frame(
ID_CLI = unique(df1$ID_CLI),
CHURN = colnames(tbl)[apply(tbl, 1, which.max)]
)
})
df2
# ID_CLI CHURN
#1 12 0
#2 25 1
#3 27 0
数据
df1 <- read.table(text = "
ID_CLI CHURN
12 0
12 0
25 1
25 1
25 1
27 0
", header = TRUE)
推荐阅读
- java - 活动崩溃,因为表不存在
- flutter - 如何在两个“ThemeData”类之间进行插值
- javascript - 运行命令 cy.exec('npm run sfdx:latest-leads') 将更改 json 文件格式
- jsf - 如何根据条件使有条件需要的元素不需要
- java - 如何在 Mock 方法中添加属性文件 - Mockito
- node.js - 如何在 MERN 堆栈应用程序中使函数等待状态更新
- java - 打开 Feign java.lang.NoSuchFieldError: MULTIPART_RELATED 错误
- python - 规范化列:总和为 1
- json - 使用 JSON 格式化 PowerBI 以生成报告
- php - Pipedrive Webhook PHP 端点代码示例