r - 按列值在 R 中出现的概率对数据进行分组
问题描述
我有具有以下结构的数据:
month Responder Status Frequency
2020-02-01 A TRUE 1
2020-03-01 B FALSE 1
2020-03-01 B TRUE 2
2020-03-01 C FALSE 1
2020-03-01 C TRUE 1
2020-03-01 D FALSE 1
2020-03-01 E FALSE 1
2020-03-01 F FALSE 2
2020-03-01 G FALSE 1
2020-03-01 G TRUE 2
2020-03-01 H TRUE 1
我现在想创建一个数据框,显示每个响应者状态为 FALSE 的概率,按月份分组。因此,输出应如下所示,其中 n 是当月列出响应者的次数:
month Responder n prob_false
2020-02-01 A 1 0
2020-03-01 B 2 0.333
2020-03-01 C 2 0.5
2020-03-01 D 1 1
2020-03-01 E 1 1
2020-03-01 F 1 1
2020-03-01 G 2 0.333
2020-03-01 H 1 0
解决方案
使用dplyr
并基于@akrun 非常有用的评论:
df1 %>%
group_by(Responder, month) %>%
summarise(n = n(), prob_false = sum(Frequency[!Status])/sum(Frequency))
# A tibble: 8 x 4
# Groups: Responder [8]
Responder month n prob_false
<chr> <chr> <int> <dbl>
1 A 2020-02-01 1 0
2 B 2020-03-01 2 0.333
3 C 2020-03-01 2 0.5
4 D 2020-03-01 1 1
5 E 2020-03-01 1 1
6 F 2020-03-01 1 1
7 G 2020-03-01 2 0.333
8 H 2020-03-01 1 0
推荐阅读
- node.js - Windows 上不小心删除了系统变量 ComSpec,现在 npm 不起作用,我该怎么办?
- php - 根据值更改文本颜色
- javascript - 对象数组根据键值返回,返回对象数组
- google-apps-script - 我正在尝试使用此功能(我在网站上找到)将谷歌表单问题与电子表格链接,但我在第 4 行中不断出错
- azure-sdk-python - 未找到环境配置。默认AzureCredential()
- vue.js - 如何使用 bootstrap-vue 图标自定义 bootstrap-vue 下拉菜单?
- excel - Excel VBA插入行并填充动态链接
- r - 使用 rmarkdown::render 打印 gt 表不起作用
- static-libraries - 如何在 Windows 上的 Atmel Studio 中包含 .a 文件?
- java - 如何在 regex-Java 中传递变量以使脚本动态化?