Frage

Was ich tun möchte, klingt einfach. Ich möchte eine normale IQ -Kurve mit R mit einem Mittelwert von 100 und einer Standardabweichung von 15 zeichnen. Dann möchte ich in der Lage sein, ein Streudiagramm von Daten darüber zu überlagern.

Weiß jemand, wie man das macht?

War es hilfreich?

Lösung

Ich vermute, was Sie tun möchten, ist Folgendes: Sie möchten die planen Modellnormale Dichte mit mittlerer 100 und sd = 15, und Sie möchten darüber hinausgehen empirische Dichte von einigen Beobachtungen, die angeblich der Modell der normalen Dichte folgen, sodass Sie sich visualisieren können, wie gut die Modelldichte zur empirischen Dichte passt. Der folgende Code sollte dies tun (hier wäre x der Vektor der tatsächlichen Beobachtungen, aber zu Illustrationszwecken erzeugte ich ihn mit einer gemischten Normalverteilung N (100,15) + 15*N (0,1), dh der angeblichen N (100,15) Verteilung plus Rauschen).

require(ggplot2)
x <- round( rnorm( 1000, 100, 15 )) + rnorm(1000)*15
dens.x <- density(x)
empir.df <- data.frame( type = 'empir', x = dens.x$x, density = dens.x$y )
norm.df <-  data.frame( type = 'normal', x = 50:150, density = dnorm(50:150,100,15))
df <- rbind(empir.df, norm.df)
m <- ggplot(data = df, aes(x,density))
m + geom_line( aes(linetype = type, colour = type))

alt text

Andere Tipps

Nun, es ist eher wie ein Histogramm, da ich denke, dass Sie erwarten, dass diese eher ein ganzzahliger Prozess sind:

x<-round(rnorm(1000, 100, 15))
y<-table(x)
plot(y)
par(new=TRUE)
plot(density(x), yaxt="n", ylab="", xlab="", xaxt="n")

Wenn Sie den theoretischen Wert von DNORM überlagert haben, verwenden Sie eine davon:

lines(sort(x), dnorm(sort(x), 100, 15), col="red")

alt text-oder

points(x, dnorm(x, 100, 15))

Sie können IQ Scores PDF generieren mit:

curve(dnorm(x, 100, 15), 50, 150)

Aber warum möchten Sie die Dichtekurve überlagern? IMHO, das ist sehr ungewöhnlich ...

Zusätzlich zu den anderen guten Antworten sind Sie möglicherweise daran interessiert, eine Reihe von Panels mit jeweils eigenem Diagramm zu zeichnen. Etwas wie das.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top