我希望在聚合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
非常感谢任何帮助。
答案 0 :(得分:2)
我们在按“ID”分组后创建频率列“计数”,然后添加第二个分组,其中“分数”,summarise
的第一个值为“Count”,列数为1,{{ 1}}到'宽'格式
spread