使用多个 variable/parameter 在 R 中可视化 "corrplot"
Visualise "corrplot" in R with more than one variable/parameter
我正在使用 corrplot
函数,它是 R
中 corrplot
包的一部分,以可视化我拥有的数据通道之间的相关性。我的问题是我是否可以将两个“因素”或参数分配给圆圈......因此,例如,我可以让圆圈的大小代表相关性,而圆圈的颜色代表其他东西,例如滞后?我的数据实际上是互相关数据,我在其中确定了最大值 correlation/lag 并希望能够在图中将两者可视化,这就是我想要这样做的原因。
基本上我想要实现的目标与这个问题相同:,但是,这两种解决方案都不适合我,我在从 [=34= 安装软件包时遇到错误].
我有一个滞后向量和相关向量:
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
正方形中可视化我希望圆圈的大小取决于 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 行在顶部,higher-numbered 行在下方,但绘图在底部具有较低的 y 值,在上方具有 higher-numbered y 值。你可能想改变它,或者它可能没问题。您可以将 scale_y_reverse()
添加到您的绘图中以切换它。
我正在使用 corrplot
函数,它是 R
中 corrplot
包的一部分,以可视化我拥有的数据通道之间的相关性。我的问题是我是否可以将两个“因素”或参数分配给圆圈......因此,例如,我可以让圆圈的大小代表相关性,而圆圈的颜色代表其他东西,例如滞后?我的数据实际上是互相关数据,我在其中确定了最大值 correlation/lag 并希望能够在图中将两者可视化,这就是我想要这样做的原因。
基本上我想要实现的目标与这个问题相同:
我有一个滞后向量和相关向量:
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
正方形中可视化我希望圆圈的大小取决于 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 行在顶部,higher-numbered 行在下方,但绘图在底部具有较低的 y 值,在上方具有 higher-numbered y 值。你可能想改变它,或者它可能没问题。您可以将 scale_y_reverse()
添加到您的绘图中以切换它。