繁体   English   中英

使用dplyr软件包重塑数据

[英]reshape data with dplyr package

嗨,我有这个数据集,我想重塑数据。

> dvd
   ID          Item
1   1   Sixth Sense
2   1         LOTR1
3   1 Harry Potter1
4   1    Green Mile
5   1         LOTR2
6   2     Gladiator
7   2       Patriot
8   2    Braveheart
9   3         LOTR1
10  3         LOTR2
11  4     Gladiator
12  4       Patriot
13  4   Sixth Sense

我想以这种格式放置数据。

#     ID                                               V1
#  1:  1 Sixth Sense,LOTR1,Harry Potter1,Green Mile,LOTR2
#  2:  2                     Gladiator,Patriot,Braveheart
#  3:  3                                      LOTR1,LOTR2
#  4:  4                    Gladiator,Patriot,Sixth Sense

我知道我可以使用此代码对data.table进行此操作

library(data.table)
as.data.table(DF)[, list(list(Item)), by = ID]

但是我真的很想使用dplyr包。。可能吗? 我整天都在考虑这个问题,我无法忘记这个问题,它正在杀死我:)

非常感谢您的帮助

使用tidyr的开发版( install ),它很简单

nest(DF, Item)

那将是

library(dplyr)
DF %>% group_by(ID) %>%
  summarise(Item = list(Item))

我的做法是这样的:

DF %>%
  group_by(ID) %>%
  summarise(V1 = paste0(Item, collapse = ", "))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM