2016-06-09 23 views
5

Wie kann ich die Populationsvarianz meiner Daten mit R berechnen?Populationsvarianz in r

Ich las es ein Paket popvar genannt ist, aber ich habe die Version 0.99.892 und ich finde nicht das Paket

+1

Welche Software haben Sie Version 0.99.892 von? Die aktuelle R-Version ist 3.3.0. Vielleicht RStudio? Verwechseln Sie nicht R und RStudio - RStudio ist nur ein Werkzeug zum Schreiben von R-Code. – Gregor

+2

Die Funktion 'var' von R wird standardmäßig durch n-1 geteilt. Multipliziert man die Ausgabe von var mit (n-1)/n, erhält man das, was man will. – Dason

Antwort

11

Die Funktion var() in der Basis R berechnet die Stichprobenvarianz und die Populationsvarianz variiert mit der Stichprobenvarianz um den Faktor n/n - 1. So eine alternative Varianz zu berechnen wird var(myVector) * (n - 1)/n sein, wobei n die Länge des Vektors ist, hier ein Beispiel:

x <- 1:10 
var(x) * 9 /10 
[1] 8.25 

Aus der Definition der Varianz:

sum((x - mean(x))^2)/10 
[1] 8.25 
1

Sie die Details popvar hier auf der Verpackung finden: https://cran.r-project.org/web/packages/PopVar/index.html - Sie können es installieren die Verwendung von Befehl install.packages("PopVar"); Beachten Sie, dass der Name die Groß-/Kleinschreibung beachtet (Großbuchstabe P, Großbuchstabe V).

+0

Es wird hilfreich sein, wenn Sie erklären, wie man es benutzt. Ich habe versucht ** PopVar (c (1,2,3)) ** und bekam Fehler: * Fehler: konnte die Funktion "PopVar" * nicht finden. –

0

Sie haben bereits eine große Antwort, aber ich möchte zeigen, dass Sie Ihre eigenen Komfortfunktionen leicht machen können. Es ist überraschend, dass eine Populationsvarianz/Standardabweichungsfunktion in der Basis R nicht verfügbar ist. Es ist in Excel/Calc und anderer Software verfügbar. Es wäre nicht schwierig, eine solche Funktion zu haben. Es könnte sdp oder sd.p oder aufgerufen werden mit sd(x, pop = TRUE)

Dies ist eine Basisversion der Varianz ohne Typprüfung genannt werden:

x <- 1:10 
    varp <- function(x) mean((x-mean(x))^2) 
    varp(x) 
    ## [1] 8.25 

bis skalieren, wenn die Geschwindigkeit ist ein Problem, colSums und/oder colMeans können verwendet werden (siehe: https://rdrr.io/r/base/colSums.html)

+0

Auch überraschend, dass es keine Schiefe (mit/ohne Anpassung) oder Kurtosis oder rohe Momente in der Basis "R" gibt ... – PatrickT