Вопрос

Я хочу нарисовать график корреляций.

features = features[,-2]
features<- scale(features[2:ncol(features)],center=TRUE,scale=TRUE);
correlationmatrix <- cor(features)
corrplot(correlationmatrix, order = "hclust")
.

До 3-й строки, все работает нормально.При запуске corrplot() я получаю:

Ошибка в if (min (corr) <-1 - .machine $ double.eps || max (corr)> 1 + .machine $ double.eps) {: Недостающее значение, где True / False необходимо

Это было полезно?

Решение

Это происходит, скорее всего, потому что вы пытаетесь построить мета матрицы корреляции с отсутствующими значениями (Na) .

К сожалению, Corrplot не справляется с теми правильно ...

Вы можете настроить значения самостоятельно с помощью другой техники.

Вместо этого я нашел простой взлом вокруг этого.Я не советую вам использовать его, для моих данных, он работал просто хорошо.Вы также потеряете возможность показать значительные тесты, используя Corrplot.

M=cor(values,use="pairwise.complete.obs")
p = M
p[is.na(M)]=0.2 
p[is.na(M)==F]=0
M[is.na(M)]=0
corrplot(M, method="circle", is.corr=T, p.mat=p, sig.level=0.1, order = "FPC")
.

К сожалению, я не могу опубликовать результирующее изображение, так как я только что присоединился и не хватает этой «репутации Stackoverflow».

Введите описание изображения здесь

Надеюсь, это поможет вам или другому человеку с той же проблемой.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top