ich habe folgenden Datenrahmen originalData
wie ein Multilabel Datenrahmen in einzelne Spalt in R rollen
ID Y1 Y2 Y3 X1 X2 X3
1 111 TRUE TRUE FALSE 12 junior 45.55
2 112 FALSE FALSE TRUE 15 junior 458.54
3 113 TRUE TRUE FALSE 16 senior 48.79
Ich mag würde folgendes Ergebnis
ID YCOMBIN X1 X2 X3
1 111 Y1 12 junior 45.55
2 111 Y2 12 junior 45.55
3 112 Y3 15 junior 458.54
4 113 Y1 16 senior 48.79
5 113 Y2 16 senior 48.79
ich das mein Beispiel glauben, um mehr klar ist, als eine lange Erklärung. Falls nicht. Ich würde gerne alle meine Ergebnisse (in meinem Fall Y1 und Y2) in eine einzige YCOMBIN-Spalte rollen, wenn der Wert des Adhoc-Ergebnisses TRUE ist. In diesem Fall kann ich natürlich die ID und alle Prädiktoren (X1 und X2) wiederholen, wenn eine ID mehr als 1 TRUE Wert im Ergebnis hat.
Was ist der beste Weg, um das gewünschte Ergebnis zu erreichen?
Datenquelle:
originalData <- structure(list(ID = 111:113, Y1 = c(TRUE, FALSE, TRUE), Y2 = c(TRUE,
FALSE, TRUE), Y3 = c(FALSE, TRUE, FALSE), X1 = c(12L, 15L, 16L
), X2 = structure(c(1L, 1L, 2L), .Label = c("junior", "senior"
), class = "factor"), X3 = c(45.55, 458.54, 48.79)), .Names = c("ID",
"Y1", "Y2", "Y3", "X1", "X2", "X3"), class = "data.frame", row.names = c(NA,
-3L))
Hallo danke für die Antwort, ich mag die erste Lösung. Aber im wirklichen Leben sind meine Y groß und haben andere Namen. Ist es möglich, etwas wie Sammeln zu verwenden (key = "YCOMBIN", value = "value", originalData [, 2: 4]). Ich habe es versucht, aber es funktioniert nicht. – S12000
In diesem Fall können Sie 'gather_' verwenden. 'gather_ (key =" YCOMBIN ", value =" value ", Namen (originalData [, 2: 4])'. – Psidom
vielen Dank es hilft – S12000