В R, по-видимому, существует расхождение для вычисления коэффициента корреляции pearson, между (a) использованием формулы исходного балла за один шаг и (b) сначала оценки числителя и знаменателя отдельно. В частности, когда я сделал расчет за один шаг, результат был ошибочным, но он был правильным, когда я сначала оценил числитель и знаменатель. Как так? Я мог бы что-то делать неправильно, но я не могу понять, что это такое.Несоответствие при расчете коэффициента корреляции pearson
##data
x <- 1:5
y <- 5:1
##x squared, y squared, x times y; for raw score formula
xx <- x*x
yy <- y*y
xy <- x*y
##correlation coefficient; the value that should come out
cor(x,y) #-1
##raw score formula, in one line
wrong <- length(xy)*sum(xy)-sum(x)*sum(y)/
sqrt((length(xx)*sum(xx)-sum(x)^2)*(length(yy)*sum(yy)-sum(y)^2))
wrong #170.5
##raw score formula, separating numerator and denominator
numerator <- length(xy)*sum(xy)-sum(x)*sum(y)
denominator <- sqrt((length(x)*sum(xx)-sum(x)^2)*(length(y)*sum(yy)-sum(y)^2))
correct <- numerator/denominator
correct #-1
Я использую R 2.14.1 в Xubuntu 12.04.
я посмотрел на мою формулу снова и снова, так что я удивляюсь я пропустил это. Спасибо большое. –