我有下面要整理的数据集。

     user_id                topic may june july august september october
1     192775                 talk   2    0    0      2         2       1
2     192775                 walk 165  123  128    146       113     105
3     192775                 bark   0    0    0      0         0       0
4     192775                 harp   0    0    0      0         0       1

我想使用 tidyr 塑造成以下格式。
user_id      month      talk      walk      bark      harp
192775       may           2       165         0         0
192775      june           0       123         0         0

任何帮助表示赞赏

最佳答案

和:

library(tidyr)
df %>% gather(month, val, may:october) %>% spread(topic, val)

你得到:



另一种选择是使用 recast 包中的 reshape2:
library(reshape2)
recast(df, user_id + variable ~ topic, id.var = c('user_id','topic'))

关于r - 如何整理这个数据集?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47400897/

10-12 17:32