Корреляция всех переменных в data.farme в R - PullRequest
0 голосов
/ 03 мая 2020

Я знаю, что ввод data.frame в cor автоматически даст матрицу корреляции (например, cor(mtcars)).

Но я удивляюсь, почему, когда я ввожу свой собственный data.frame (dat_w) ) до cor Я получаю приведенную ниже ошибку?

У меня есть NA и Inf, но я использовал use = 'pairwise.complete.obs'.

dat_w <- read.csv('https://raw.githubusercontent.com/izeh/n/master/w1.csv', stringsAsFactors = F)


cor(dat_w, use = 'pairwise.complete.obs')

# >Error : 'x' must be numeric

Ответы [ 2 ]

1 голос
/ 03 мая 2020

Мы можем найти столбцы, которые нумеруются c автоматически

i1 <-  sapply(dat_w, is.numeric)
out <- cor(dat_w[i1], use = 'pairwise.complete.obs')

Если мы хотим заменить NaN некоторым значением, то есть 0

out1 <-  replace(out, is.nan(out)|is.na(out), 0)
1 голос
/ 03 мая 2020

Потому что ваш второй столбец (gender) не является цифрой c. Попробуйте:

cor(dat_w[-2], use = 'pairwise.complete.obs')
...