2016-04-11 3 views
0

Мне нужно выполнить корреляционный анализ в кадре данных, где некоторые столбцы не являются числовыми. Я хотел бы удалить нечисловые столбцы из анализа, если это возможно, не делая этого вручную. Я попытался это, но это не получение каких-либо результатов:Как выполнить корреляционный анализ для числовых столбцов в R?

library(ISLR) 
    library(corrplot) 
    head(Carseats) 
    X<-cor(Carseats[apply(Carseats, function(x) !is.factor(x))]) 
    corrplot(X) 

я получаю следующее errror:

Error in match.fun(FUN) : argument "FUN" is missing, with no default 

Я видел некоторый код, используя is.numeric, но результат тоже самое.

ответ

1

Это должно быть довольно близко:

myColumns <- sapply(Carseats, function(x) !is.factor(x)) 
X<-cor(Carseats[, myColumns]) 
+0

Он работал. Я использовал «apply», который принуждает все столбцы данных к наименее распространенному супертипу, это не относится к «sapply» –

+0

Несомненно, @Lucas Massuh. Если бы это сделало то, что спросили, вы могли бы принять его в качестве ответа. – lmo