我在前言中说我已经在网上乱哄哄地尝试了几个不同的代码片段(基础R,dplyr,tidyr),但我无法完全达到我需要的位置。我有一个固定数量的数据框......
client_id question brand_id
2 101 7
7 101 4
7 101 97
7 101 5
7 101 10
7 101 97
7 101 14
7 101 7
9 101 6
9 101 97
9 101 16
9 101 2
9 101 7
......我需要转变为......
client_id question bid1 bid2 bid3 bid4 bid5 bid6 bid7
2 101 7
7 101 4 97 5 10 97 14 7
9 101 6 97 16 2 7
...每行可以有不同数量的列但不会超过12列。非常感谢社区援助!
答案 0 :(得分:0)
如果您将数据作为data.table:
dcast(temp[,.(paste0("bid",1:(.N)), question,brand_id),
by=client_id], ...~V1)
也许有一种更简单的方法。