Ich muss eine komplexe Grafik für die visuelle Datenanalyse zeichnen. Ich habe 2 Variablen und eine große Anzahl von Fällen (> 1000). Zum Beispiel (die Zahl ist 100, wenn die Dispersion weniger "normal" sein soll):
x <- rnorm(100,mean=95,sd=50)
y <- rnorm(100,mean=35,sd=20)
d <- data.frame(x=x,y=y)
1) Ich muss Rohdaten mit Punktgröße zeichnen, die der relativen Häufigkeit von Zufällen entspricht, plot(x,y)
ist also keine Option - ich benötige Punktgrößen. Was ist zu tun, um dies zu erreichen?
2) Auf demselben Plot muss ich eine 95% -Konfidenzintervallellipse und eine Linie zeichnen, die die Änderung der Korrelation darstellt (ich weiß nicht, wie ich sie richtig benennen soll) - so etwas wie das:
library(corrgram)
corrgram(d, order=TRUE, lower.panel=panel.ellipse, upper.panel=panel.pts)
aber mit beiden Graphen auf einem Plot.
3) Schließlich muss ich darüber hinaus ein resultierendes lineares Regressionsmodell zeichnen:
r<-lm(y~x, data=d)
abline(r,col=2,lwd=2)
aber mit Fehlerbereich ... so etwas wie auf QQ-Plot:
aber für Anpassungsfehler, wenn es möglich ist.
Die Frage ist also:
Wie erreicht man all dies in einem Diagramm?
quelle
df.new <- data.frame(x = seq(min(x), max(x), 0.1))
ist besser. 2) Ellipse wird an der Position 0; 0 gezeichnet, was nicht korrekt ist, und es werdens size is also strange (too small). Also tryed
Bibliotheks- (Auto-) DatenEllipse (df y, Ebenen = 0,95: 1, lty = 2) `, aber es werden alle gelöscht. 3) Die Kurve (wie im Korrelogramm) fehlt. Ich habe es fast durch einen Anruf reproduziert, aber der Datenbereich ist falsch. Verwenden Sie zum Reproduzieren die ersten 2 Zeilen aus meinem Code anstelle Ihrer.library(car) cr.plots(m0)
car::dataEllipse
ellipse
corrgram
Paket: Sie zeigt einen paarweisen Konfidenzbereich von 95% unter der Annahme einer bivariaten Normalverteilung, die auf dem Mittelwert zentriert und mit SD (x) und SD (y) skaliert ist. Ich bin jedoch kein großer Fan davon, wenn ich es in einem Streudiagramm verwende. Aber siehe Murdoch & Chow, Eine grafische Darstellung großer Korrelationsmatrizen , Am Stat (1996) 50: 178, oder Friendly, Corrgrams: Exploratory Displays for Correlation Matrices , Am Stat (2002) 56: 316.Verwenden Sie für Punkt 1 einfach den
cex
Parameter im Diagramm, um die Punktgröße festzulegen.Zum Beispiel
Um mehrere Diagramme in einem Diagramm
par(mfrow=c(numrows, numcols))
zu haben, müssen Sie ein gleichmäßig verteiltes Layout verwenden oderlayout
komplexere erstellen.quelle
cex
, aber ich denke, das OP möchte, dass sich alle Dinge in derselben Plotregion befinden, nicht in separaten.curve
oderpoints
überzeichnen;)