我以前做了一个漂亮的,实用的,完美的贴图(我的阴谋)。现在我必须得到相同的底层数据。因此,我的目标是有三角形的相似矩阵,在相同的颜色与我的凝聚图。想象一下,它就像excel中的条件格式。
我的数据:我来自excel的数据
它作为csv加载,并且可以很好地读取csv。
我的代码:corrplot(Phylogeny, is.corr=FALSE,method="number", cl.lim=c(0,1))
它抛给我的错误:Error in if (any(corr < cl.lim[1]) || any(corr > cl.lim[2])) { : Missing value, where TRUE/FALSE is required
我已经查看了condformat函数,但我不太确定它是否能按照整体的渐变来填充每个单元格,就像我在我的护栏图中使用的那样。
我在这里错过了什么,它不想把我的桌子还给我漂亮的颜色?
发布于 2021-02-02 15:53:11
我也犯了同样的错误,但是我能够通过将我的data.frame转换成matrix来修复它。我最后和corrplot(as.matrix(df), is.corr = FALSE)在一起。
发布于 2021-02-06 02:38:20
如果我的理解是正确的,那么您发布的数据已经是一个相关矩阵了--尽管不是一个完全对称的数据矩阵,它是通过对原始数据的调用cor生成的。
在这种情况下,问题只是在数据中将变量名称(物种)作为列。将此列更改为行名,删除变量名,并按user9536160的建议调用user9536160:
# read in your data
phyl <- as.data.frame(read_csv("Phylogeny.csv"))
# name rows and drop variable names in the df itself
row.names(phyl) <- phyl$Species
phyl <- phyl %>%
select(-Species)
# call corrplot
corrplot(as.matrix(phyl), is.corr = FALSE)结果:

https://stackoverflow.com/questions/63938311
复制相似问题