size <- 12
. Later this will be the number of rows of the matrix.x <- rnorm( size )
.x1
by adding (on average 10 times smaller) noise to x
: x1 <- x + rnorm( size )/10
.x
and x1
should be close to 1.0: check this with function cor
.x2
and x3
by adding (other) noise to x
.size <- 12
x <- rnorm( size )
x1 <- x + rnorm( size )/10
cor( x, x1 )
[1] 0.9867631
x2 <- x + rnorm( size )/10
x3 <- x + rnorm( size )/10
x1
, x2
and x3
column-wise into a matrix using m <- cbind( x1, x2, x3 )
.m
.m
.heatmap( m, Colv = NA, Rowv = NA, scale = "none" )
.m <- cbind( x1, x2, x3 )
class( m )
[1] "matrix" "array"
head( m )
x1 x2 x3
[1,] 0.04564303 -0.1155628 -0.0007447835
[2,] 1.95783624 1.8248244 1.5584394109
[3,] 0.60854510 0.4863137 0.6509751717
[4,] 0.46002438 0.3981477 0.3632319895
[5,] 0.27808154 0.5760647 0.5750333365
[6,] 1.02470972 1.0753685 1.0618218722
heatmap( m, Colv = NA, Rowv = NA, scale = "none" ) # high is dark red, low is yellow
# x1, x2, x3 follow similar color pattern, they should be correlated
y1
…y4
(but not correlated with x
), of the same length size
.m
from columns x1
…x3
,y1
…y4
in some random order.y <- rnorm( size )
y1 <- y + rnorm( size )/10
y2 <- y + rnorm( size )/10
y3 <- y + rnorm( size )/10
y4 <- y + rnorm( size )/10
m <- cbind( y4, y3, x2, y1, x1, x3, y2 )
heatmap( m, Colv = NA, Rowv = NA, scale = "none" ) # high is dark red, low is yellow
cc <- cor( m )
to build the matrix of correlation coefficients between columns of m
.round( cc, 3 )
to show this matrix with 3 digits precision.cc <- cor( m )
round( cc, 3 ) #
y4 y3 x2 y1 x1 x3 y2
y4 1.000 0.988 0.356 0.995 0.337 0.444 0.987
y3 0.988 1.000 0.313 0.991 0.289 0.400 0.988
x2 0.356 0.313 1.000 0.361 0.982 0.986 0.326
y1 0.995 0.991 0.361 1.000 0.332 0.447 0.993
x1 0.337 0.289 0.982 0.332 1.000 0.971 0.303
x3 0.444 0.400 0.986 0.447 0.971 1.000 0.410
y2 0.987 0.988 0.326 0.993 0.303 0.410 1.000
heatmap( cc, symm = TRUE, scale = "none" )
# E.g. value for (row: x1, col: y1) is the corerlation of vectors x1, y1.
# Values of 1.0 are on the diagonal: e.g. x1 is perfectly correlated with x1.
# Correlations between x, x vectors are close to 1.0.
# Correlations between y, y vectors are close to 1.0.
# Correlations between x, y vectors are close to 0.0.
Copyright © 2022 Biomedical Data Sciences (BDS) | LUMC