dplyr - group_by和count如果变量满足条件

时间:2016-04-19 21:15:52

标签: r grouping dplyr

我在概念上遇到了一个看似非常简单的问题,但我很难在R中完成它(我在网上发现的例子很多(使用dplyr)但似乎没有得到我正在寻找的东西)。以下是一个例子:

我有3个变量:响应(因子),类型(因子)和状态(因子)。基本上,如果状态等于1,我试图找出每种类型的特定响应出现的次数(频率)。响应将始终在0-10之间。以下是一个示例数据框:

Response    Type    Status
5   A   0
5   A   1
2   A   0
0   A   0
6   A   1
1   A   1
9   A   0
3   A   1
4   A   1
0   A   1
9   A   0
1   A   0
0   A   1
7   A   0
5   B   1
4   B   1
4   B   1
8   B   0
7   B   1
8   B   0
2   B   0
0   B   1
10  B   0
3   B   0
1   B   0
9   B   0
4   B   1
1   B   1

我正在寻找的最终结果如下所示,其中ResponseScale显示可用的全部响应选项(0-10),Count显示给定特定响应的频率ResponseScale。

Type    ResponseScale   Count
A   0   2
A   1   1
A   2   0
A   3   1
A   4   1
A   5   1
A   6   1
A   7   0
A   8   0
A   9   0
A   10  0
B   0   1
B   1   1
B   2   0
B   3   0
B   4   3
B   5   1
B   6   0
B   7   1
B   8   0
B   9   0
B   10  0

我尝试在dplyr中使用group_by但没有取得多大成功(我无法通过类型显示频率计数 - 输出显示的计数在整个类型中整体崩溃)。但更重要的是,我不确定如何在dplyr示例中合并Status等于1的部分。

任何帮助/指示将不胜感激 - 谢谢!

0 个答案:

没有答案