سؤال

أريد أن أرسم مؤامرة من الارتباطات.

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".

enter image description here

نأمل أن يساعدك أنت أو أي شخص آخر يعاني من نفس المشكلة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top