cor.test.default中的错误x = mat [,i],y = mat [,j],...:有限的观测值不足

问题描述

我已经在Google和StackOverflow上寻找解决问题的方法。我现在已经尝试了几件事,但似乎没有任何效果

我正在尝试创建语言功能的相关箱线图。对于每个功能(总共36个),在Excel中有1个用于扬声器的使用时间,在不存在的情况下为0。

有41位演讲者,尽管使用最低的得分是8,但没有一个人使用全部36个功能。我想分析我的数据以查看哪些功能相关,从而找出哪些功能可以预测其他功能的使用。

我一直在R中使用munmap。这是我一直在使用的命令:

corrplot

但是,我收到一条错误消息:

cor_mat <- df_analysis %>% replace(.,is.na(.),0) %>% cor(method = "spearman") cor_residuals <- cor.mtest(cor_mat,conf.level = .95)

有人知道为什么以及如何纠正它吗?实际上,我真正需要知道的只是问题所在,我可能可以在那里自行解决。如果您也有解决方案,我将不胜感激!

非常感谢!

解决方法

您可以像这样理想地定义corrplot:

df_cor <- cor(df_analysis)
corrplot(df_cor,type = "full",order = "hclust",outline.color = "white",hc.method = "ward",pch.cex = .5,show.diag = TRUE,p.mat = cor_residuals$p,insig = "blank",sig.level = .01,addrect = 20,tl.srt = 36,tl.cex = .8,tl.col = "black",col = rev(lacroix_palette("PassionFruit",8,"continuous")))
,

您的数据集中有几列没有变化;因此,这些变量的相关性全部为NA,这将事情搞砸了。

which(apply(df_analysis,2,sd)==0)
## [1] a' c[h]lach bheag [3] a' c[h]loich bhig [14] a' b[h]ord bheag 
##                     1                     3                    14 
##       [26] nan su[ ]l       [27] nan sul[ ] 
##                    26                    27 

我通过设置options(error=recover)并运行以查看错误发生的位置(此设置使您在发生错误时进入浏览器/调试模式)来解决此问题。更直接地说,我应该完成了corrplot(cor_mat),这有助于为NA值添加问号...

enter image description here

image()heatmap(as.matrix(df_analysis),Rowv=NA,Colv=NA,scale="none",margins=c(10,8))对于查看原始数据非常有用。