Я хочу рассчитать корреляционную матрицу для 10 столбцов data.frame
, содержащих 2 столбца с факторами. Если я запускаю cor(data.frame)
, я получаю нечисловую ошибку. Есть ли другой способ запустить его, кроме создания нового фрейма данных только с числовыми столбцами?
Вычислить cor () в data.frame с нечисловыми данными
Ответы (1)
Я не уверен, как выглядит ваш фрейм данных. Но у меня сложилось впечатление, что вы пытаетесь провести корреляцию для всех столбцов, которые у вас есть. Я оставляю вам следующее.
#sample data
subject <- 1:100
area <- rep(c("a", "b", "c", "d", "e"), each = 20)
a <- runif(100, 0, 50)
b <- runif(100, 20, 60)
c <- runif(100, 10, 70)
foo <- data.frame(subject, area, a,b,c, stringsAsFactors = FALSE)
cor(foo[,c(3:5)], use = "everything") #select columns with numbers
# a b c
#a 1.0000000 0.16797099 0.11609168
#b 0.1679710 1.00000000 -0.01162148
#c 0.1160917 -0.01162148 1.00000000
person
jazzurro
schedule
07.10.2014
Если
subject
также фактор. cor(foo[sapply(foo, is.numeric)])
тоже подойдет. +1
- person akrun; 07.10.2014
@akrun Спасибо за продолжение. Это поможет ОП.
- person jazzurro; 07.10.2014