问题描述
我已经在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值添加问号...
image()
或heatmap(as.matrix(df_analysis),Rowv=NA,Colv=NA,scale="none",margins=c(10,8))
对于查看原始数据非常有用。