1
私はこのようなデータセットを持っている:R:メルトとDcast
CASE_ID = c("C1","C1", "C2","C2", "C2", "C3", "C4")
PERSON_ID = c(1,0,7,8,1,20,7)
PERSON_DIVISION = c("Zone 1", "NA", "Zone 1", "Zone 3", "Zone 1", "Zone 5", "Zone 1")
df <- data.frame(CASE_ID, PERSON_ID, PERSON_DIVISION)
df
になり:
CASE_ID PERSON_ID PERSON_DIVISION
1 C1 1 Zone 1
2 C1 0 NA
3 C2 7 Zone 1
4 C2 8 Zone 3
5 C2 1 Zone 1
6 C3 20 Zone 5
7 C4 7 Zone 1
そして、私はそれを変換したい:
CASE_ID P1_ID P2_ID P3_ID P1_Division P2_Division P3_Division
1 1 0 NA Zone 1 NA NA
2 7 8 1 Zone 1 Zone 3 Zone 1
3 20 NA NA Zone 5 NA NA
4 7 NA NA Zone 1 NA NA
私のアプローチこれまでのところ、データとラッパーを溶かすことでした。Dcast:
e <- melt(df)
dcast(e, CASE_ID ~ PERSON_DIVISION + variable)
しかし、私は所望の出力を得ていないのです、代わりに私が取得しています:
CASE_ID NA_PERSON_ID Zone 1_PERSON_ID Zone 3_PERSON_ID Zone 5_PERSON_ID
1 C1 1 1 0 0
2 C2 0 2 1 0
3 C3 0 0 0 1
4 C4 0 1 0 0