長い形式のデータフレームがあり、それをワイドフォーマットに変換したいと思います。データフレームには、一意のインスタンスとして扱う複数の繰り返し識別子があり、それらをワイドデータフレームの個々の行として表します。長い形式から広い形式へのキャスト、各行の新しい行の作成を繰り返します。
Forcing unique values before casting (pivoting) in R
しかし、上記の質問に一意のエントリは、などの個々の列が終わる:
私の質問はこれと同じです。私の質問では、データを個々の行に入れたいと思っています。
ID1 ID2 Bird Cat Dog
A R 1 2 0
A R 2 0 0 # 2 Birds in the A/ R combination so need second row (don't want to add them together)
A L 1 0 2
B R 1 0 1
B R 0 0 2
B L 0 3 0
B L 0 2 0
C R 1 2 0
C R 0 5 0
C L 2 0 3
ユニークID1/ID2の組み合わせには繰り返しがない場合:
ID1<-c("A","A","A","A","A","B","B","B","B","B","C","C","C","C","C")
ID2<-c("R","R","R","L","L","R","R","L","L","R","R","L","L","R","R")
Sp<-c("Bird","Cat","Bird","Bird","Dog","Dog","Dog","Cat","Cat","Bird","Cat","Dog","Bird","Bird","Cat")
Count<-c(1,2,2,1,2,1,2,3,2,1,2,3,2,1,5)
DF<-data.frame(ID1,ID2,Sp,Count)
私はワイドフォーマットに私のデータをキャストした後、私はこのように見えるために、出力データが欲しい:たとえば、キャストウオールは通常どおりに動作します。しかし、繰り返しがある場合は、2番目(または3番目または4番目)の行が作成されます。
があなたの 'dplyr'方法、代わりにあなたが最後にこれを追加することができますreshape'ベース'について(ID1 + ID2 + AUXID〜Sp、value.var = "Count"、塗りつぶし= 0)%>%select(-AUXID) 'dresrチェーン(' reshape2'をロードした後) – eipi10