Ich habe sehr große Matrix, ich weiß, dass einige der Spaltennamen von ihnen dupliziert sind. Ich möchte also nur diese doppelten Spaltennamen finden und die Spalte aus dem Duplikat entfernen. Ich habe versucht duplicate()
, aber es entfernt die doppelten Einträge. Würde jemand mir helfen, dies in R zu implement? Der Punkt ist, dass doppelte Spaltennamen möglicherweise keine doppelten Ganzzahlen haben.So entfernen Sie doppelte Spaltennamen in R?
11
A
Antwort
33
Lasst uns temp
sagen ist Ihre Matrix
temp <- matrix(seq_len(15), 5, 3)
colnames(temp) <- c("A", "A", "B")
## A A B
## [1,] 1 6 11
## [2,] 2 7 12
## [3,] 3 8 13
## [4,] 4 9 14
## [5,] 5 10 15
Sie
tun konntetemp <- temp[, !duplicated(colnames(temp))]
## A B
## [1,] 1 11
## [2,] 2 12
## [3,] 3 13
## [4,] 4 14
## [5,] 5 15
Oder, wenn Sie die letzte dupliziert Spalte halten möchten, können Sie
temp <- temp[, !duplicated(colnames(temp), fromLast = TRUE)]
## A B
## [1,] 6 11
## [2,] 7 12
## [3,] 8 13
## [4,] 9 14
## [5,] 10 15
10
tun Or unter der Annahme data.frames könnten Sie subset
:
subset(iris, select=which(!duplicated(names(.))))
Beachten Sie, dass dplyr::select
hier nicht anwendbar ist, da die Spalteneindeutigkeit in den Eingabedaten bereits erforderlich ist.
0
Speichern Sie alle Ihre Duplikate in einem Vektor, sagen Sie Duplikate, und verwenden Sie -Duplizierungen mit Einzelklammer-Subsetting, um doppelte Spalten zu entfernen.
# Define vector of duplicate cols (don't change)
duplicates <- c(4, 6, 11, 13, 15, 17, 18, 20, 22,
24, 25, 28, 32, 34, 36, 38, 40,
44, 46, 48, 51, 54, 65, 158)
# Remove duplicates from food and assign it to food2
food2 <- food[,-duplicates]
Verwandte Themen
- 1. doppelte Spaltennamen
- 2. R, bedingt doppelte Zeilen entfernen
- 3. Entfernen Sie Punkte aus den Spaltennamen in R
- 4. Entfernen Sie doppelte Zeilen
- 5. So entfernen Sie doppelte Datensätze im Raster?
- 6. So entfernen Sie doppelte Knoten mit XSLT?
- 7. Wie doppelte Spalten (Inhalt) in data.table R entfernen?
- 8. So entfernen Sie den Abschnitt in R
- 9. So entfernen Sie Zeichen in r
- 10. Fehlercode: 1060. Doppelte Spaltennamen
- 11. Entfernen Sie aufeinanderfolgende doppelte Einträge
- 12. So entfernen Sie doppelte Einträge von ArrayList in Java
- 13. So entfernen Sie doppelte Werte aus einem Array in PHP
- 14. XSLT: So entfernen Sie doppelte Tags in XML
- 15. So entfernen Sie doppelte Werte in einem Dataset: python
- 16. Entfernen von Spaltennamen in Pandoc-Tabelle - r Markdown
- 17. entfernen Sie doppelte Zeichenfolge in PHP
- 18. R: Definieren Sie den Spaltennamen mit Einfügen()
- 19. Verketten Sie doppelte Datenrahmenwerte in R
- 20. So entfernen Sie doppelte Einträge aus einem Array?
- 21. So entfernen Sie NA-Werte in Vektor in R
- 22. So entfernen Sie doppelte Buchstaben aus einer Zeichenfolge? Caesar Cipher
- 23. So entfernen Sie doppelte Datensätze aus Excel-Blatt mit oledb
- 24. JQuery: Entfernen Sie doppelte Elemente?
- 25. So entfernen Sie doppelte Zeilen von Union-Anweisung
- 26. Übergeben Sie Spaltennamen als Funktionsargumente - R
- 27. Zeilen- und Spaltennamen in R
- 28. So entfernen Sie https
- 29. Entfernen Sie doppelte Knoten in XSLT
- 30. Entfernen Sie doppelte Elemente in Datenrahmen Python