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.9983315
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,] 1.36781013 1.33167936 1.44843137
[2,] 0.88975074 0.79368935 0.82932019
[3,] -1.02586279 -0.91227336 -0.97806016
[4,] 0.82140132 0.86280000 0.81927027
[5,] -0.05374808 0.02123502 0.14373691
[6,] 0.17843552 0.30818407 0.08049429
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.986 -0.353 0.992 -0.316 -0.333 0.988
y3 0.986 1.000 -0.334 0.985 -0.292 -0.308 0.993
x2 -0.353 -0.334 1.000 -0.377 0.997 0.994 -0.358
y1 0.992 0.985 -0.377 1.000 -0.337 -0.353 0.987
x1 -0.316 -0.292 0.997 -0.337 1.000 0.995 -0.317
x3 -0.333 -0.308 0.994 -0.353 0.995 1.000 -0.337
y2 0.988 0.993 -0.358 0.987 -0.317 -0.337 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 © 2024 Biomedical Data Sciences (BDS) | LUMC