2016-11-29 3 views
1

Ich habe diese Frage gestellt elsewhereR: qqplot cauchy mit

ich überprüfen möchten, ob meine Daten eine normale oder eine andere Art der Verteilung (wie cauchy zum Beispiel) folgt.

Ich möchte wirklich verstehen, wie qqplot verwenden =]

Auch wenn die qqnorm funktioniert gut:

qqnorm(data);qqline(data) 

Wenn ich versuche, die qqplot:

qqplot(data, "normal") 
qqplot(data, "cauchy") 

es erzeugt einen Fehler :

Error in plot.window(...) : valores finitos são necessários para 'ylim'

Außerdem schafft es die Warnmeldungen:

1: In xy.coords(x, y, xlabel, ylabel, log) : NAs introduced by coercion
2: In min(x) : no non-missing arguments to min; returning Inf
3: In max(x) : no non-missing arguments to max; returning -Inf

+0

Bitte denken Sie daran, 'dput()' Ihre Probe Daten. Cross-Posting ist auch nicht erlaubt. –

+0

Ich stimme für das Schließen dieser Frage als Off-Topic, weil es bei CrossValidated –

+0

Cross-gepostet ist Ich denke nicht, dass dies geschlossen werden sollte. Dies ist eine Programmierfrage mit einer wohldefinierten Antwort, und die CV-Leute schickten implizit den Fragesteller hier, indem sie darauf hinwiesen, dass Programmierungsfragen für den Lebenslauf off-topic waren. Ob die Antwort auf die Programmierfrage bei der zugrunde liegenden statistischen Analyse helfen wird, ist eine andere Frage. –

Antwort

2

Sie sollten die Dokumentation für qqplot lesen. Das zweite Argument zu qqplot sollte ein anderer Datenvektor sein, kein String. Wenn Sie Ihre Daten mit einer bestimmten Verteilung vergleichen möchten, können Sie die in qqnorm verwendete Technik verwenden und einen Vektor von Quantilen für jede Verteilung generieren. Sagen wir x die Daten, die wir darstellen möchten:

x <- rcauchy(5000) 

Da x 5000 Elemente, wir 5000 gleichmäßig beabstandeten quantiles unserer Zielverteilung generieren möchten. Lassen Sie uns zunächst die Normalverteilung versuchen:

y.norm <- qnorm(ppoints(length(x))) 
qqplot(x, y.norm) 

Nun lasst uns das Gleiche mit der Cauchy-Verteilung versuchen.

y.cauchy <- qcauchy(ppoints(length(x))) 
qqplot(x, y.cauchy) 

(Beachten Sie, dass die Verteilung Cauchy insbesondere verhalten wird nicht sehr gut in QQ-Plots, so dass diese Ihnen mit Ihrem eigentlichen Ziel nicht wirklich helfen können.)