重複したIDの要素を結合する方法

[code]

    ID_1 1
    ID_2 3
    ID_2 5
    ID_2 1
    ID_3 2
    ID_3 3
    …
    
[/code]

* * *
[code]

    ID_1 1
    ID_2 1 3 5
    ID_3 2 3
    …
    
[/code]

上記のような重複IDのあるデータセットから、重複のあったものを横結合するにはどうすればよいでしょうか？  
重複したIDを1行にし、昇順で並べたいと思っています。  
重複を削除する方法は多く見つかりますが、結合する方法は見つからずどう処理すればいいのか悩んでいます。  
よろしくお願いします。




Rの場合  
tapplyで重複するIDごとのリストを作り、lapplyで好きな関数をあてれば、並び替えも簡単。

x <\- tapply(c(1, 3, 5, 1, 2, 3), c('ID_1', 'ID_2', 'ID_2', 'ID_2', 'ID_3',
'ID_3'), list)

lapply(x, sort)

