在R中聚合时创建虚拟变量

时间:2018-04-06 11:58:48

标签: r dataframe dplyr aggregate dummy-variable

我希望在聚合R中的数据帧时创建虚拟变量。

dat <- read.table(textConnection('ID Score Info
1     1     A    1
2     1     A    10
3     1     B    7
4     2     C    8
5     2     B    9
6     2     B    1
7     3     B    7
8     3     C    8
9     3     C    3
10     3     A    2'))

基本上,我想按&#34; ID&#34;进行汇总。并且计算具有相同ID的行的数量很容易,但我还需要根据列#34; Row&#34;创建虚拟变量。如果A / B / C存在于同一ID内,则虚拟变量的值为1,0,否则为0。 例如,ID为2没有A因此ID为2的Score_A为0,但Score_B和Score_C为1。

输出如下:

      ID  Count Score_A Score_B Score_C
1     1     3      1      1       0
2     2     3      0      1       1
3     3     4      1      1       1

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

我们在按“ID”分组后创建频率列“计数”,然后添加第二个分组,其中“分数”,summarise的第一个值为“Count”,列数为1,{{ 1}}到'宽'格式

spread