我计算了两个矩阵之间的Spearman相关性,并且我正在使用绘制r值corrplot.如何仅绘制显着的相关性(因此只有那些p值低于0.00的相关性并删除那些具有更高p值的相关性,即使是强相关性 - r的高值).我使用corr.testin psychpackage 生成了相关矩阵,所以我已经有了p值cor.matrix$p
这是我正在使用的代码:
library(corrplot)
library(psych)
corr.test(mydata_t1, mydata_t2, method="spearman")
M <- corrplot(cor.matrix$r, method="square",type="lower",col=col1(100),is.corr=T,mar=c(1,1,1,1),tl.cex=0.5)
Run Code Online (Sandbox Code Playgroud)
如何修改它以仅绘制重要的核心关系?
是否可以corrplot在一个图形中绘制多个图形?
可重现的例子:
library(corrplot)
data(mtcars)
M <- cor(mtcars)
col1 <- colorRampPalette(c("#7F0000","red","#FF7F00","yellow","white", "cyan", "#007FFF", "blue","#00007F"))
corrplot(M, method="color", col=col1(20), cl.length=21,order = "AOE", addCoef.col="grey")
corrplot(M, method="square", col=col1(200),order = "AOE")
corrplot(M, method="ellipse", col=col1(200),order = "AOE")
corrplot(M, method="shade", col=col1(20),order = "AOE")
Run Code Online (Sandbox Code Playgroud)
我想知道是否有一个类似于“多重绘图功能”的功能适用于此目的。我希望所有这些 corrplots 都在同一个输出中。
我有一个用 corrplot 创建的相关矩阵对象
p1 <- corrplot(correlations_history, method = "number", type = "lower", title = "Regional Factor Correlation Matrix over history", mar = c(0,0,1,0), number.cex = 0.5, number.digits = 2)
Run Code Online (Sandbox Code Playgroud)
我正在尝试将其另存为 pdf。出于某种原因,我无法弄清楚如何做到这一点。任何帮助表示赞赏。谢谢!
我正在尝试从 kaggle 的 IMDB 电影预测数据集中创建变量的相关矩阵。当我尝试绘制相关矩阵时,矩阵中出现以下问号。

所有变量都是数字。我如何理解问号?
numeric_col <- sapply(df, is.numeric)
movie_numeric <- df[, numeric_col]
Correlation <- cor(movie_numeric)
corrplot(Correlation)
Run Code Online (Sandbox Code Playgroud) 我想在 R 中创建一个相关值矩阵。但是,我没有将参数与其自身进行比较,因此不是典型的 corrplot 是三角形并镜像在对角轴上。我实际上已经有了相关值。
我只是希望招募corrplot函数(来自corrplot 包),它产生如下图像:
我的数据已经包含我想要绘制的相关值,是:
X animal.1 animal.2 animal.3 animal.4 animal.5
1 parameter 1 0.10258087 0.3338782 0.150246554 0.07295133 0.2484152
2 parameter 2 0.04205748 0.4062727 -0.002101464 0.12068818 0.2951127
3 parameter 3 0.11264488 0.4114954 0.067145776 0.13361071 0.3246052
4 parameter 4 -0.02261649 -0.2426341 0.108042167 -0.12820517 -0.2005686
5 parameter 5 -0.01576384 -0.2300852 0.112941655 -0.12391976 -0.1906473
6 parameter 6 -0.09749030 -0.3110920 0.021994297 -0.13570257 -0.2557532
Run Code Online (Sandbox Code Playgroud)
我希望绘图看起来像一个 corrplot,但它将是一个完整的矩形。我想要不同直径的圆圈,正值或负值的两种不同颜色,以及沿着图边的颜色渐变。本质上,我想要一个矩形值表的 corrplot 主题。
我还要求查看是否可以在具有显着 (p<0.05) p 值的网格方块上放置星号。我现在附上 p 值矩阵的 dput 文件 …
我喜欢使用corrplot带有函数的相关图,并在单元格中打印出相关系数(使用addCoef.col和addCoefasPercent = TRUE)。我还想从图中删除无关紧要的相关性(使用insig = "blank")。问题在于这仅适用于背景色,而不适用于系数本身,因此系数本身仍会打印!看到:
set.seed(123)
par(cex=0.8) # trick for cor. coef font size, see http://stackoverflow.com/q/26574054/684229
col1 <-rainbow(100, s = 1, v = 1, start = 0, end = 0.9, alpha = 1)
test <- matrix(data=rnorm(400),nrow=20,ncol=20)
cor.mtest <- function(mat, conf.level = 0.95){
mat <- as.matrix(mat)
n <- ncol(mat)
p.mat <- lowCI.mat <- uppCI.mat <- matrix(NA, n, n)
diag(p.mat) <- 0
diag(lowCI.mat) <- diag(uppCI.mat) <- 1
for(i in 1:(n-1)){
for(j in (i+1):n){
tmp …Run Code Online (Sandbox Code Playgroud) 在r包中corrplot,您可以在相关矩阵的下半部分和上半部分混合图形类型以形成良好的视觉效果.我想在矩阵的下半部分有数字,在矩阵的上半部分有椭圆 - 这一切都很好.但是,根据我的数据,我无法看到一些相关数字,因为它们接近0.下面是我正在使用的代码和当前输出.
有没有办法改变矩阵下半部分的文字颜色?我想将相关系数的颜色改为不是白色(它们不需要是红色到蓝色,黑色就可以了).
#Saves the correlation matrix for reproducibility
#The matrix was modified based on the answer here: http://stackoverflow.com/a/36893890/5623577
cormatx <- structure(c(1, 0.480473436029381, 0.727971392165508, 0.0755790813842022,
0.647226624978262, 0.706156814758194, 0.73971915882987, 0.073024457099958,
0.480473436029381, 1, 0.540515552878261, 0.106196818240067, 0.505171500429873,
0.480694458288349, 0.538693541543583, 0.158300667842954, 0.727971392165508,
0.540515552878261, 1, 0.111168537597397, 0.587432598932939, 0.673406541830384,
0.724533755640279, 0.139232852746538, 0.0755790813842022, 0.106196818240067,
0.111168537597397, 1, -0.0844917222701804, 0.0382605955575862,
-0.00462812019681349, 0.000406894700952559, 0.647226624978262,
0.505171500429873, 0.587432598932939, -0.0844917222701804, 1,
0.668544141384562, 0.761303240927891, 0.152127182963817, 0.706156814758194,
0.480694458288349, 0.673406541830384, 0.0382605955575862, 0.668544141384562,
1, 0.772678948045676, 0.119611111043454, 0.73971915882987, 0.538693541543583,
0.724533755640279, -0.00462812019681349, 0.761303240927891, 0.772678948045676, …Run Code Online (Sandbox Code Playgroud) 我正在使用 method="number" 绘制包含 10 个变量的相关图。我正在尝试导出具有大字体大小(number.cex = 3,tl.cex = 3)的绘图以用于发布目的,但正方形的大小不会增加以适应更大的字体。有办法修改这个吗?
这是我的代码(如果有帮助的话):
corrplot(as.matrix(K), tl.cex = 3, tl.col = "black", method = "color",
outline = T, order="hclust",
addCoef.col = "black", number.digits = 2, number.cex = 3,
cl.pos = 'b', cl.cex = 3, addrect = 3, rect.lwd = 3,
col = colorRampPalette(c("midnightblue", "white","darkred"))(100))
Run Code Online (Sandbox Code Playgroud) 我有一个在相关矩阵中有NA的corrplot.Corrplot将NA相关矩阵中的切片替换为"?" (见下文).有没有人知道用另一种颜色替换这些瓷砖的方法,而不是问号?
此代码提供以下图像:
corrplot(matrix(data = c(0.5,0.2,NA,NA, 0.7,0.5),nrow = 3, ncol = 2),method="shade",shade.col=NA, type = 'lower')
我希望将左下方的图块定义为不在相关颜色上腭的颜色.
r ×10
r-corrplot ×10
plot ×5
correlation ×4
ggplot2 ×1
matrix ×1
significance ×1
statistics ×1