Расчет стандартного отклонения диаграммы рассеяния в R - PullRequest
4 голосов
/ 24 декабря 2010

Я создал диаграмму рассеяния двух векторов, используя R в сочетании с линией (используя abline ), которая представляет диагональ x = y. Я хочу рассчитать стандартное отклонение точек от диагонали и раскрасить область, которая находится между первым и третьим квантилями.
Я понятия не имею, как это сделать, и буду признателен за любую помощь !!! Заранее спасибо. Хадж.

1 Ответ

3 голосов
/ 24 декабря 2010

Ну, что вы хотите сделать, это:

# sample data
x <- rnorm(50,0,2)
y <- x+rnorm(50,0,2)

# construct polygons
div <- quantile(y-x,c(0.25,0.75))
x1 <- min(c(x,y))
x2 <- max(c(x,y))


plot(x,y,type="n")
polygon(x=c(x1,x1,x2,x2),y=c(x1+div,(x2+div)[c(2,1)]),col="grey")
abline(0,1)
points(x,y)

Что бы я сделал, это:

qplot(x,y,geom="point") + stat_smooth(method="lm")

Стандартное отклонение, которое вы хотите вычислить, равно

sd(y-x)

Правильная мера, которую вы, вероятно, ищете:

sd(residuals(lm(y~x)))

Вы должны думать в терминах линейной модели y на x, чтобы получить какой-либо значимый результат, если только у вас нет веских причин не делать этого. Если соотношение между x и y не равно 1 на 1, то предполагать, что правильная модель такова, не имеет смысла. И если отношение x к y не равно 1 на 1, y-x не будет нормально распределяться, и, следовательно, sd будет трудно интерпретировать осмысленным образом.

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