Ich habe eine logische Datenrahmen wie:Merge gleiche Spaltennamen eines logischen/Binär-Datenrahmen
> test
apple apple apple kiwi kiwi banana banana banana apple orange
1 FALSE TRUE FALSE FALSE TRUE FALSE TRUE TRUE TRUE FALSE
2 TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE TRUE FALSE
3 FALSE FALSE FALSE TRUE TRUE FALSE FALSE FALSE FALSE FALSE
Mein Ziel ist es, die Säule mit dem gleichen Spaltennamen zu kombinieren. Das heißt, die Ausgabe sollte ein Datenrahmen mit 4 Spalten sein (Apfel, Kiwi, Banane, Orange).
Ich habe versucht:
testmerge <- df[, !duplicated(colnames(df))]
Aber der Ausgang ist nicht das, was ich sehe. Für jede Zeile mit demselben Spaltennamen sollte die Ausgabe True sein, solange mindestens 1 TRUE vorhanden ist. Für jede Zeile mit demselben Spaltennamen sollte die Ausgabe False sein, wenn 0 TRUE ist.
Für die erste Zeile in der ersten Spalte sollte TRUE anstelle von FALSE sein.
Unerwünschte testmerge
Ausgabe:
apple kiwi banana orange
1 FALSE FALSE FALSE FALSE
2 TRUE TRUE TRUE FALSE
3 FALSE TRUE FALSE FALSE
gewünschte Ausgabe:
apple kiwi banana orange
1 TRUE TRUE TRUE FALSE
2 TRUE TRUE TRUE FALSE
3 FALSE TRUE FALSE FALSE
Replizieren Datenrahmen:
test <- structure(list(apple = c(FALSE, TRUE, FALSE), apple = c(TRUE, TRUE,
FALSE), apple = c(FALSE, TRUE, FALSE), kiwi = c(FALSE, TRUE, TRUE
), kiwi = c(TRUE, TRUE, TRUE), banana = c(FALSE, TRUE, FALSE), banana = c(TRUE,
FALSE, FALSE), banana = c(TRUE, TRUE, FALSE), apple = c(TRUE, TRUE,
FALSE), orange = c(FALSE, FALSE, FALSE)), .Names = c("apple", "apple",
"apple", "kiwi", "kiwi", "banana", "banana", "banana", "apple", "orange"), row.names = c(NA,
-3L), class = "data.frame")
vielen dank für diese lösung – S12000