将dataframe连接到列表

我有一些在Excel中的行名称与他们各自的出版物。

Name Pub AAAA MNWP AAAA TIWD BBBB CGWK BBBB MNWP CCCC EXWE CCCC EXWE CCCC HXWT CCCC MDWE CCCC MDWE CCCC MNWP CCCC MNWP CCCC NDWK DDDD MNWP EEEE EXWE EEEE TIWE 

基本上我想要一个列表是这种forms:

 AAAA: MNWP, TIWD BBBB: CGWK, MNWP CCCC: EXWE, HXWT, MDWE, MNWP, NDWK, TIWE DDDD: MNWP EEEE: EXWE, TIWE 

有没有一种方法合并在上面的格式这个列表? ExcelR (最好是Excel)。

使用data.table

 library(data.table) setDT(dat)[, list(Group=paste(Pub, collapse=", ")), by=Name][,paste(Name, Group, sep=": ")] #[1] "AAAA: MNWP, TIWD" #[2] "BBBB: CGWK, MNWP" #[3] "CCCC: EXWE, EXWE, HXWT, MDWE, MDWE, MNWP, MNWP, NDWK" #[4] "DDDD: MNWP" #[5] "EEEE: EXWE, TIWE" 

一种方法是

 x <- read.table(text = "Name Pub AAAA MNWP AAAA TIWD BBBB CGWK BBBB MNWP CCCC EXWE CCCC EXWE CCCC HXWT CCCC MDWE CCCC MDWE CCCC MNWP CCCC MNWP CCCC NDWK DDDD MNWP EEEE EXWE EEEE TIWE ", header = TRUE) aggregate(Pub ~ Name, data = x, FUN = paste) Name Pub 1 AAAA MNWP, TIWD 2 BBBB CGWK, MNWP 3 CCCC EXWE, EXWE, HXWT, MDWE, MDWE, MNWP, MNWP, NDWK 4 DDDD MNWP 5 EEEE EXWE, TIWE 

R中的另一个选项:

 library(dplyr) df %>% group_by(Name) %>% summarise(Pub = paste(Pub, collapse =", ")) #Source: local data frame [5 x 2] # # Name Pub #1 AAAA MNWP, TIWD #2 BBBB CGWK, MNWP #3 CCCC EXWE, EXWE, HXWT, MDWE, MDWE, MNWP, MNWP, NDWK #4 DDDD MNWP #5 EEEE EXWE, TIWE