
Last chance! 50% off unlimited learning
Sale ends in
This plot can be used to graphically display a correlation matrix by using the linewidth between the nodes in proportion to the correlation of two variables. It will place the elements homogenously around a circle and draw connecting lines between the points.
PlotWeb(m, col = c(hred, hblue), lty = NULL, lwd = NULL, args.legend=NULL,
pch = 21, pt.cex = 2, pt.col = "black", pt.bg = "darkgrey",
cex.lab = 1, las = 1, adj = NULL, dist = 0.5, ...)
a symmetric matrix of numeric values
the color for the connecting lines
the line type for the connecting lines, the default will be par("lty")
.
the line widths for the connecting lines. If left to NULL
it will be linearly scaled between the minimum and maximum value of m
.
list of additional arguments to be passed to the legend
function.
Use args.legend = NA
if no legend should be added.
the plotting symbols appearing in the plot, as a non-negative numeric vector (see points
, but unlike there negative values are omitted) or a vector of 1-character strings, or one multi-character string.
expansion factor(s) for the points.
the foreground color for the points, corresponding to its argument col
.
the background color for the points, corresponding to its argument bg
.
alignment of the labels, 1 means horizontal, 2 radial and 3 vertical.
adjustments for the labels. (Left: 0, Right: 1, Mid: 0.5)
gives the distance of the labels from the outer circle. Default is 2.
the character extension for the labels.
dots are passed to plot.
A list of x and y coordinates, giving the coordinates of all the points drawn, useful for adding other elements to the plot.
The function uses the lower triangular matrix of m
, so this is the order colors, linewidth etc. must be given, when the defaults are to be overrun.
# NOT RUN {
m <- cor(d.pizza[, which(sapply(d.pizza, IsNumeric, na.rm=TRUE))[-c(1:2)]],
use="pairwise.complete.obs")
PlotWeb(m=m, col=c(hred, hblue), main="Pizza Correlation")
# let's describe only the significant corrs and start with a dataset
d.m <- d.pizza[, which(sapply(d.pizza, IsNumeric, na.rm=TRUE))[-c(1:2)]]
# get the correlation matrix
m <- cor(d.m, use="pairwise.complete.obs")
# let's get rid of all non significant correlations
ctest <- PairApply(d.m, function(x, y) cor.test(x, y)$p.value, symmetric=TRUE)
# ok, got all the p-values, now replace > 0.05 with NAs
m[ctest > 0.05] <- NA
# How does that look like now?
Format(m, na.form = ". ", leading="drop", digits=3, align = "right")
PlotWeb(m, las=2, cex=1.2)
# define line widths
PlotWeb(m, lwd=abs(m[lower.tri(m)] * 10))
# }
Run the code above in your browser using DataLab