我试图像这样的表转换:扩大柱
# A tibble: 10 x 2
user_id pred
<int> <fctr>
1 27 electronics
2 27 home
3 38 health
4 60 electronics
5 60 beauty
6 92 home
7 92 electronics
8 106 health
9 117 home
10 117 women
一个看起来像这样:
# A tibble: 6 x 3
user_id pred_1 pred_2
<dbl> <chr> <chr>
1 27 electronics home
2 38 health NA
3 60 electronics beauty
4 92 home electronics
5 106 health NA
6 117 home women
即行每user_id
和pred
列的扩展到pred_1
,pred_2
等任何想法?
UPDATE
最初的问题得到了解决。追问:
使用tidyr::spread
方法,是有办法帽group_size
到N
,这样,当蔓延,它需要在最N
值各组?
或者使用data.table'库的开发人员版本(data.table); dcast(setDT(df),user_id〜rowid(user_id))' –
谢谢大家,但我真的不知道这是如何重复的另一个问题。如果有的话,这是暴露'tidyr :: spread'的功能的更简洁的方法 –
这里的解决方案是相同的。所有的解决方案都有几十种类似的解决方案,其中很多都由同一用户发布。你可以检查他们[这里](http://stackoverflow.com/search?q=user%3A3732271+1%3A.N+dcast)和[这里](http://stackoverflow.com/search?q =用户%3A3732271 +行号+点差) –