Ich habe ein Datenframe, in dem ich nur eine Funktion ausführen möchte, wenn ich das in bestimmten Spalten weiß (sagen wir, es gibt 11 Spalten und ich will das auf 4 von wissen es gibt mehr als einen Wert (zB sind es nicht alle 2). Gibt es eine bestimmte Funktion, um dies herauszufinden oder müsste ich jede der Spalten durchlaufen und überprüfen?R: Prüfe, ob eine Spalte mehr als einen Wert hat
0
A
Antwort
2
Wir können sapply
zu Schleife über die Spalten verwenden, erhalten die unique
Elemente in jeder Spalte prüfen, ob die length
größer als 1 ist es ein logischer Vektor gibt, die für subsetting den Datensatz verwendet werden kann, wenn nötig.
i1 <- sapply(df1, function(x) length(unique(x)) >1)
df1[i1]
Oder eine andere Option Spalten der Teilmenge wird length(unique(x))
Für jede Spalte laufen filter
Filter(var, df1)
0
sein. Dadurch wird die Anzahl der eindeutigen Spalten gedruckt. Wenn Sie mehr Informationen bereitstellen, kann dies in eine Funktion geschachtelt werden, die basierend auf den Summen von length(unique(x))
entscheidet, ob sie ausgeführt werden soll oder nicht.
Verwandte Themen
- 1. Prüfe, ob Objekt einen Wert in objektorientiertem Code hat - python
- 2. Prüfe, ob ein Benutzer isAdmin true hat
- 3. Erkennen, ob ein div mehr als eine Zeile hat
- 4. Prüfe, ob Koch als Chef-Solo läuft
- 5. Überprüfen Sie, ob eine Pandas-Serie mindestens einen Eintrag größer als einen Wert hat
- 6. Überprüfen, ob Html.ValidationSummary() einen Wert hat
- 7. Grundstück mehr als eine Spalte + facet_grid (ggplot)
- 8. Prüfe, ob struct eine gegebene Schnittstelle implementiert
- 9. Vue.js: Prüfe, ob eine Komponente existiert
- 10. Prüfe, ob Iterable eine Karte ist
- 11. Wie Sie mehr als einen Wert in eine Datenbankspalte eingeben
- 12. CSV: Zählen einer Zeichenfolge in einer Spalte, wenn eine andere Spalte einen bestimmten Wert hat
- 13. Wie prüfe ich in Java, ob eine Liste von `Double` einen bestimmten Wert enthält
- 14. Finden Sie, ob eine Spalte in Oracle eine Sequenz hat
- 15. Wie wähle ich einen Datensatz aus, der einen Fremdschlüssel mit mehr als Wert hat?
- 16. Unterabfrage hat mehr als 1 Wert zurückgegeben, Fehler
- 17. Prüfe, ob und Interceptor auf einen Kontext angewendet wurde
- 18. Wählen Zeilen derselben Spalte Wert mit mehr als 3-mal
- 19. Prüfe, ob Spieler sneakningt - modPE
- 20. Postgres - Pivot-Tabelle/Kreuztabelle mit mehr als ein Wert Spalte
- 21. Unterabfrage hat mehr als 1 Wert zurückgegeben. SQL Fehler
- 22. Ordnung durch mehr als eine Spalte mit mysql
- 23. Wie überprüfe ich, ob EditText einen Wert hat?
- 24. Count, wenn eine andere Spalte einen Wert
- 25. Ersetzen einen Wert in einer Spalte in R
- 26. Wie überprüft man, ob eine Datei mehr als eine Zeile in einer BASH-Bedingung hat?
- 27. Wie überprüft man, ob die listView-Spalte mehr als einen Eintrag enthält?
- 28. Prüfe, ob ein String einen von mehreren Teilstrings enthält
- 29. Prüfe, ob ein Spielobjekt in Unity
- 30. Prüfe, ob eine Ganzzahl in einem Bereich liegt
Danke! Das ist viel effizienter als ich es getan hätte. –
sollte dies nicht ein [dupe] (http://stackoverflow.com/questions/31409269/returning-only-column-values-that-have-more-than-1-unique-values-in-r) sein? ;-) – Jaap
@ProcrastinatusMaximus Es könnte sein, aber hier scheint das OP nur den Index und nicht die Teilmenge der Spalten zu wollen. Also bezweifle ich, dass es ein Betrogener ist. – akrun