繁体   English   中英

使用多个变量/参数在 R 中可视化“corrplot”

[英]Visualise "corrplot" in R with more than one variable/parameter

我正在使用corrplot函数,它是R corrplot包的一部分,用于可视化我拥有的数据通道之间的相关性。 我的问题是我是否可以为圆圈分配两个“因素”或参数......那么,例如,我可以让圆圈的大小代表相关性,圆圈的颜色代表其他东西,例如滞后吗? 我的数据实际上是互相关数据,我已经确定了最大相关/滞后并希望能够在图中将两者可视化,这就是我想要这样做的原因。

基本上我想要实现的目标与这个问题中的相同: R:使用 corrplot 使用圆圈的大小和颜色来可视化两个变量(例如,相关性和 p 值) ,但是,这两种解决方案都不起作用我和我在从 Github 安装软件包时遇到错误。

我有一个滞后和相关的向量:

CCO_lag = (0,   NaN ,   -2 ,  NaN  ,  -5  ,  -4  ,  -6  ,  -3  ,   0 ,  NaN ,    1  ,   3  , NaN   ,  0   , -3  , NaN) 
CCO_r = c(-0.4757 ,      NaN   , 0.5679    ,   NaN   , 0.5582  ,  0.5899 ,   0.5857 ,   0.6256 ,  -0.4646   ,    NaN ,  -0.6286 , -0.4699    ,   NaN ,  -0.7710  ,  0.5869  ,     NaN `)

假设我想使用corrplot在一个1x16正方形corrplot其可视化,我希望圆圈的大小取决于CCO_r的相关值,而圆圈的颜色取决于CCO_lag的滞后值。

任何人都可以帮忙吗?

谢谢!

这对我来说似乎不太像相关图,但我们可以这样做:

CCO_lag = c(0,   NaN ,   -2 ,  NaN  ,  -5  ,  -4  ,  -6  ,  -3  ,   0 ,  NaN ,    1  ,   3  , NaN   ,  0   , -3  , NaN) 
CCO_r = c(-0.4757 ,      NaN   , 0.5679    ,   NaN   , 0.5582  ,  0.5899 ,   0.5857 ,   0.6256 ,  -0.4646   ,    NaN ,  -0.6286 , -0.4699    ,   NaN ,  -0.7710  ,  0.5869  ,     NaN )

d = data.frame(id = 1:length(CCO_lag), CCO_lag, CCO_r)

ggplot(d, aes(x = id, y = "A", size = CCO_r, color = CCO_lag)) +
  geom_point() +
  scale_y_discrete(breaks = NULL) +
  labs(y = "", x = "")

在此处输入图片说明

如果你有矩阵:

lag_mat = matrix(CCO_lag, 4)
r_mat = matrix(CCO_r, 4)
row = c(row(lag_mat))
col = c(col(lag_mat))

dd = data.frame(
  lag = c(lag_mat), r = c(r_mat), row, col
)

ggplot(dd, aes(x = row, y = col, size = r, color = lag)) +
  geom_point() +
  theme(panel.grid = element_blank())

在此处输入图片说明

请注意,矩阵的第 1 行位于顶部,下方是编号较高的行,但图的底部 y 值较低,而上方的 y 值较高。 你可能想改变它,或者它可能没问题。 您可以将scale_y_reverse()添加到您的绘图中以进行切换。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM