t-критерий корреляции Пирсона в R

Глядя на функцию cor.test в R, используемую для вычисления (среди прочего) корреляции Пирсона, я увидел, что t-статистика, использованная позже для вычисления p-значения, равна

    STATISTIC <- c(t = sqrt(df) * r/sqrt(1 - r^2))

где r — мера корреляции, а df — число степеней свободы.

Но t-критерий для корреляции Пирсона выглядит следующим образом: http://en.wikipedia.org/wiki/Pearson_product-moment_correlation_coefficient#Testing_using_Student.27s_t-distribution)

sqrt( ( n - 2 ) / ( 1 - r^2 ) )

Как всегда, учитывая, что cor.test широко используется, я подозреваю сначала недоразумение с моей стороны. Кто-нибудь знает, правильно ли определение, используемое в cor.test?

Спасибо


person Xavier Prudent    schedule 12.11.2014    source источник


Ответы (1)


Если вы посмотрите на код немного дальше, вы увидите, что они на самом деле эквивалентны.

Во-первых, вы забыли r в своем уравнении для википедии. Ваше уравнение должно быть:

t = r*sqrt((n-2)/(1-r^2))

Теперь давайте немного упростим STATISTIC <- c(t = sqrt(df) * r/sqrt(1 - r^2))

df на самом деле n-2

t = sqrt(n-2)*r/sqrt(1-r^2)

переписанный

t = r * sqrt(n-2)/sqrt(1-r^2)

упрощенный

t = r*sqrt((n-2)/(1-r^2))

И у вас есть эквивалент.

person cdeterman    schedule 12.11.2014