2016-11-07 25 views
0

値幅広いフォーマットに長いからRのデータフレームに変換し、連結:文字列は、私は、このようなデータフレーム持って

df <- data.frame (Subject = c(1,1,1,2,2,3,3), Product = c("A","B","C","B","C","A","D") 

を、私はこのように(「ワイド」形式に)それを交換したいと思います:

df_replace <- data.frame(Subject = c(1,2,3), Product = c("A;B;C","B;C","A;D")) 

新しいProduct値は、指定したSubjectの元のProduct値を連結した文字列である必要があります。

私はdcastを試しています...しかし、私は前進する方法を見つけていません。 (しかし私は仮定しています...それは簡単です)。

+1

このように 'df%>%group_by(件名)%>%summarize(products = paste(product、collapse ="; "))'複数の同じものを持つことができるならば、製品ごとに – agenis

答えて

0

aggregateを使用できます。

xy <- read.table(text = "Subject Product 
1 ProdA 
1 ProdB 
1 ProdC 
2 ProdB 
2 ProdC 
2 ProdD 
3 ProdA 
3 ProdB", header = TRUE) 

aggregate(Product ~ Subject, FUN = paste, collapse = ";", data = xy) 

    Subject   Product 
1  1 ProdA;ProdB;ProdC 
2  2 ProdB;ProdC;ProdD 
3  3  ProdA;ProdB 
+1

親愛なるローマ、ありがとうございました....私は目が見えませんでした。 – frajuegies

関連する問題