Обратная статистика с R - PullRequest
       69

Обратная статистика с R

1 голос
/ 26 декабря 2010

То, что я хочу сделать, звучит просто. Я хочу построить нормальную кривую IQ со значением R со средним значением 100 и стандартным отклонением 15. Затем я хотел бы иметь возможность накладывать график разброса данных поверх него.

Кто-нибудь знает, как это сделать?

Ответы [ 4 ]

5 голосов
/ 26 декабря 2010

Я предполагаю, что вы хотите сделать следующее: вы хотите построить график нормальной плотности модели со средним значением 100 и sd = 15, и вы хотите наложить поверх этого эмпирическая плотность некоторого набора наблюдений, которые якобы следуют нормальной плотности модели, так что вы можете визуализировать, насколько плотность модели соответствует эмпирической плотности.Приведенный ниже код должен сделать это (здесь x будет вектором фактических наблюдений, но в целях иллюстрации я генерирую его со смешанным нормальным распределением N (100,15) + 15 * N (0,1), т.е. предполагаемыйN (100,15) распределение плюс шум).

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

4 голосов
/ 26 декабря 2010

Ну, это больше похоже на гистограмму, так как я думаю, что вы ожидаете, что они будут больше похожи на процесс, округленный до целого числа:

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

Если вы хотите, чтобы наложилось теоретическое значение dnorm, используйте один изэто:

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

alt text -или

points(x, dnorm(x, 100, 15))
1 голос
/ 27 декабря 2010

В дополнение к другим хорошим ответам вам может быть интересно построить несколько панелей, каждая из которых имеет свой собственный график. Примерно так .

1 голос
/ 26 декабря 2010

Вы можете сгенерировать PDF IQ с IQ:

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

Но почему вы хотите наложить разброс на кривую плотности?ИМХО, это очень необычно ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...