Corrplot Machine$double.eps قيمة مفقودة
-
20-12-2019 - |
سؤال
أريد أن أرسم مؤامرة من الارتباطات.
features = features[,-2]
features<- scale(features[2:ncol(features)],center=TRUE,scale=TRUE);
correlationmatrix <- cor(features)
corrplot(correlationmatrix, order = "hclust")
حتى السطر الثالث، كل شيء يعمل بشكل جيد.عند الجري corrplot()
, ، تلقيت:
خطأ في if (min(corr) < -1 - .Machine$double.eps || max(corr) > 1 + .Machine$double.eps) { :القيمة المفقودة عند الحاجة إلى TRUE/FALSE
المحلول
يحدث هذا على الأرجح لأنك تحاول رسم مخطط مصفوفة الارتباط مع القيم المفقودة (غير متوفر).
لسوء الحظ 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".
نأمل أن يساعدك أنت أو أي شخص آخر يعاني من نفس المشكلة.