Ich fragte mich, ob es eine eingebaute Funktion in R gab, die die Standardabweichung für Spalten wie colMeans
berechnen würde, berechnet mean
für jede Spalte. Es wäre einfach genug, meine eigene Mini-Funktion zu schreiben (ein zusammengesetzter Befehl, der Dinge wie apply
mit sd
aufruft), aber ich fragte mich, ob es schon etwas gab, das ich benutzen konnte, während ich meinen Code sauber hielt.Spalte Standardabweichung R
Antwort
Die allgemeine Idee ist Sweep die Funktion über. Sie haben viele Möglichkeiten, man ist apply()
:
R> set.seed(42)
R> M <- matrix(rnorm(40),ncol=4)
R> apply(M, 2, sd)
[1] 0.835449 1.630584 1.156058 1.115269
R>
In apply() ist das zweite Argument, margin, "ein Vektor, der die Indizes angibt, denen die Funktion zugewiesen wird." 2 zeigt Spalten – rafaelvalle
Wenn Sie es mit Gruppen verwenden möchten, können Sie:
library(plyr)
mydata<-mtcars
ddply(mydata,.(carb),colwise(sd))
carb mpg cyl disp hp drat wt qsec vs am gear
1 1 6.001349 0.9759001 75.90037 19.78215 0.5548702 0.6214499 0.590867 0.0000000 0.5345225 0.5345225
2 2 5.472152 2.0655911 122.50499 43.96413 0.6782568 0.8269761 1.967069 0.5270463 0.5163978 0.7888106
3 3 1.053565 0.0000000 0.00000 0.00000 0.0000000 0.1835756 0.305505 0.0000000 0.0000000 0.0000000
4 4 3.911081 1.0327956 132.06337 62.94972 0.4575102 1.0536001 1.394937 0.4216370 0.4830459 0.6992059
5 6 NA NA NA NA NA NA NA NA NA NA
6 8 NA NA NA NA NA NA NA NA NA NA
... oder ohne Gruppierung: 'colwise (sd) (mydata)' – flodel
Das Paket fBasics
eine Funktion colStdevs
require('fBasics')
set.seed(123)
colStdevs(matrix(rnorm(1000, mean=10, sd=1), ncol=5))
[1] 0.9431599 0.9959210 0.9648052 1.0246366 1.0351268
Verwenden Sie colSds
Funktion von matrixStats
Bibliothek.
library(matrixStats)
set.seed(42)
M <- matrix(rnorm(40),ncol=4)
colSds(M)
[1] 0.8354488 1.6305844 1.1560580 1.1152688
Können Sie diese 'colSds' für Summen anpassen, nicht nur für Mittel? –
- 1. Wie ermittle ich die Standardabweichung von mehreren Kategorien innerhalb der gleichen Spalte in R
- 2. Standardabweichung der spezifischen Reihennummern und setzen den Wert in einer anderen Zeile und Spalte in R
- 3. Standardabweichung in Abhängigkeit von variablen
- 4. Standardabweichung für DF, Pandas
- 5. Wie berechnet man die Standardabweichung mit einer Spalte "Zahl"?
- 6. Effiziente Berechnung der Matrix kumulative Standardabweichung in r
- 7. Schreiben einer Standardabweichung Funktion
- 8. Standardabweichung einer ArrayList
- 9. Standardabweichung auf Datenrahmen funktioniert nicht
- 10. Standardabweichung in numpy
- 11. SSAS Standardabweichung Berechnung
- 12. Java Streams - Standardabweichung
- 13. Standardabweichung IF Excel {} Formelprobleme
- 14. Gewichtete Standardabweichung in NumPy?
- 15. R Grundlagen: Erstellen ID-Spalte
- 16. R-ID-Spalte passende Zeilennummer
- 17. scipy.stats.binned_statistcs zur Berechnung der Standardabweichung
- 18. Standardabweichung mit Apache Commons Math
- 19. Swift Array Erweiterung für Standardabweichung
- 20. Programmvarianz und Standardabweichung mit Zeigerfunktion
- 21. R Spalte Spalte in Abhängigkeit von den Werten
- 22. subtrahieren jede Spalte voneinander Spalte in einer R data.table
- 23. Wählen Sie Spalte 2 zur letzten Spalte in R
- 24. Wenn Spalte 1 = Leer, dann Spalte 2 in R
- 25. data.table r erstellen neue Spalte mit Bezug auf Spalte
- 26. R: create Spalte mit den Werten einer anderen Spalte -1
- 27. R: Datenrahmen aufgeteilt und um Spalte nach einer anderen Spalte
- 28. Iterieren durch einen Vektor, Berechnung der Standardabweichung von jeder n Anzahl von Werten in R
- 29. Berechnung der Standardabweichung von Variablen in einer großen Liste in R
- 30. Siehe die letzte Spalte in R
... da würde ich sgibbs 'colSdColMeans' als schnelle Implementierung empfehlen. – flodel
für eine numerische Matrix, einfach genug (Lösungen unten), aber wie wäre es mit einer Lösung für einen Datenrahmen, der nur auf numerischen Spalten funktioniert? Oder verwendet ein Formelargument zum Auswählen von Spalten? 'colmean (~ x1 + x2 + x3, Daten = d)'? – Spacedman