функция cor со значениями NA из-за дисперсии 0 - PullRequest
4 голосов
/ 22 сентября 2019

Новичок R пользователь здесь.Я использую функцию cor, чтобы получить ранговый коэффициент корреляции Тау-b Кендала между 2 столбцами информационного кадра.Примерами таких столбцов являются следующие:

A    B
1    1
1    2
1    3

, когда я использую cor(d,method="kendall")

Результатом является NA для корреляции между A и B. Разве это не должно быть 0?И если нет, то есть ли способ, которым я могу заменить этот результат NA на 0, используя параметр в функции cor?

1 Ответ

1 голос
/ 22 сентября 2019

Рассмотрим, что произойдет, если мы слегка возмущаем постоянный столбец.Мы получаем совершенно разные решения в зависимости от используемого возмущения.Фактически мы можем получить любую корреляцию, которая нам нравится, с различными возмущениями.В результате на самом деле не имеет смысла использовать какое-либо конкретное значение для корреляции, и его лучше оставить как NA.

x <- c(1, 1, 1)
y <- 1:3

cor(x + (1:3) * 1e-10, y, method = "spearman")
## [1] 1

cor(x - (1:3) * 1e-10, y, method = "spearman")
## [1] -1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...