2017-08-18 80 views
-1

我有時間的一系列事件:現在這種情況發生在同一時間爲一個事件定義事件

time <-c("01-01-1970","01-01-1971","01-01-1971","01-01-1972") 
event <-c("A","A","B","B") 

df <- data.frame(time, event) 

time event 
1 01-01-1970  A 
2 01-01-1971  A 
3 01-01-1971  B 
4 01-01-1972  B 

,我希望把所發生的事件在同一時間在同一行。在我的例子,這將是行2和3的結果應該是這樣的:

時間事件

1 01-01-1970  A 
2 01-01-1971  A & B 
4 01-01-1972  B 

任何想法如何做到這一點?

最佳, 費利克斯

+1

由檢查組和'paste'即'骨料(事件〜時間,DF1,FUN =糊狀,崩潰= 「&」 )' – akrun

+1

在'data.table方式'它會是:'setDT(df)[,。(new_col = paste0(event,collapse =「&」)),by = time]' –

回答

2

您可以使用集合:

aggregate(df$event,by=list(df$time),FUN= paste,collapse = " & ") 
相關問題