根据字段计数聚合 R 数据帧:类似数据透视表的结果集

Bed*_*mez 1 pivot-table r dataframe

我有以下结构的数据框

ChannelId,AuthorId
1,32
28,2393293
2,32
2,32
1,2393293
31,3
3,32
5,4
2,5
Run Code Online (Sandbox Code Playgroud)

我想要的是

AuthorId,1,2,3,5,28,31
4,0,0,0,1,0,0
3,0,0,0,0,0,1
5,0,1,0,0,0,0
32,1,2,0,1,0,0
2393293,1,0,0,0,1,0
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

42-*_*42- 5

可以使用指定边距的公式调用 xtabs 函数:

 xtabs( ~ AuthorId+ChannelId, data=dat)

         ChannelId
AuthorId  1 2 28 3 31 5
  2393293 1 0  1 0  0 0
  3       0 0  0 0  1 0
  32      1 2  0 1  0 0
  4       0 0  0 0  0 1
  5       0 1  0 0  0 0
Run Code Online (Sandbox Code Playgroud)