auszuschließen Ich versuche, den Mittelwert jeder Zeile in meinem Datenrahmen zu berechnen. In jeder Zeile sind Nullen und ich möchte diese aus der Berechnung ausschließen. Ich möchte nicht die gesamte Zeile entfernen, sondern nur die Nullen und den Mittelwert der verbleibenden Werte in jeder Zeile berechnen. Wenn die Zeile alle Nullwerte enthält, sollte das Ergebnis Null sein.Wie kann ich die Mittel von Zeilen berechnen, während die Nullwerte aus Zeilen im Datenrahmen
Antwort
Wie wäre es
nzmean <- function(x) {
if (all(x==0)) 0 else mean(x[x!=0])
}
apply(mydata,1,nzmean)
?
Es fällt mir ein, dass es geringfügig schneller zu tun
nzmean <- function(x) {
zvals <- x==0
if (all(zvals)) 0 else mean(x[!zvals])
}
d versuchen könnte tun den Vergleich von x
mit Null zweimal zu vermeiden.
Oder was Sie tun könnten, ist NA
zu Null zuweisen, was effektiv ist, was Sie tun möchten. Einige Beispieldaten:
spam = matrix(runif(100), 10, 10)
spam[1,2] = 0
spam[4,3] = 0
spam[10,] = 0
spam[spam == 0] <- NA
und rowMeans
verwenden, die ifelse
ist für Zeilen zu überprüfen, die vollständig NA
sind. Das Argument na.rm
ist hier wichtig:
mean_values = rowMeans(spam, na.rm = TRUE)
mean_values = ifelse(is.na(mean_values), 0, mean_values)
das ist wahrscheinlich (?) Schneller als meine Lösung für sehr große Datensätze. –
Ich mag auch NA konzeptionell verwenden, macht es klar, 0 ist keine gültige Nummer. –
- 1. Zeilen im Datenrahmen verschmelzen
- 2. Wie kann ich die Standardabweichung für Zeilen eines Datenrahmens berechnen?
- 3. Wie die Anzahl der Zeilen im Quellcode
- 4. Wie kann ich die Anzahl der Zeilen im Detailband angeben?
- 5. Berechnung der Zeilen Mittel mit bestimmten Bedingungen
- 6. Merge Zeilen aus demselben Datenrahmen
- 7. ähnliche Zeilen aus einer Datenrahmen
- 8. Gruppe Zeilen in einem Datenrahmen, nehmen Sie die Maximalwerte und berechnen die Gruppen bedeuten
- 9. PySpark Mllib Vorhersage aller Zeilen im Datenrahmen
- 10. Ändern Sie mehrere Zeilen im Datenrahmen
- 11. Kann ich zwei .NET DataTables zusammenführen, ohne Nullwerte zusammenzuführen, ohne die Zeilen selbst durchlaufen zu müssen?
- 12. Zeilen im Datenrahmen zusammenführen [einige Felder duplizieren]
- 13. Zeilen auswählen spärlichen Datenrahmen von Indexposition
- 14. Zeilen aus einem einzigen Spalte Datenrahmen
- 15. Wie bekomme ich die gefilterten Zeilen im UI-Grid?
- 16. R wie kann ich Unterschied zwischen den Zeilen in einem Datenrahmen berechnen
- 17. Wie schreibe ich Befehle mit mehreren Zeilen in Dockerfile, während die neuen Zeilen beibehalten werden?
- 18. Füllung fehlende Zeilen zwei Datenrahmen
- 19. Löschen von Zeilen aus Pandas-Datenrahmen basierend auf groupby-Werten
- 20. Awk die leeren Zeilen
- 21. Effizienter Satzschnittpunkt zum Abrufen von Zeilen im Datenrahmen
- 22. Wie berechnet man Unterschiede zwischen aufeinanderfolgenden Zeilen im Pandas-Datenrahmen?
- 23. Das Ausschließen von Zeilen mit fortlaufenden Nullen aus dem Datenrahmen
- 24. pyspark: Randomize Zeilen in Datenrahmen
- 25. Datenrahmen mit unterschiedlicher Anzahl von Zeilen subtrahieren?
- 26. Bin pandas Datenrahmen von jeder X Zeilen
- 27. Wie bekomme ich die Zeilen nach morgen?
- 28. Wie kann ich die Anzahl der Zeilen eines UILabel mit fester Breite berechnen?
- 29. Zeilen aus einem Datenrahmen entfernen, die zwei Spalten in einem anderen Datenrahmen entsprechen R
- 30. DateTime Wochen in Zeilen berechnen
+1 Snap. Ich lösche meine Antwort. – Andrie
@Ben Bolker Danke für die Hilfe .. – Gongon
wenn es Ihre Frage beantwortet, können Sie auf das Häkchen klicken, um die Antwort zu akzeptieren ... –