Learn R Programming

lineup (version 0.34-1)

plot2dist: Plot two sets of inter-individual distances against one another

Description

Plot two sets of inter-individual distances against one another, colored by self and non-self distances.

Usage

plot2dist(d1, d2, hirow, hicol, xlab, ylab, smoothScatter=FALSE,
         colself="black", colnonself="gray", colhirow="green", colhicol="orange", ...)

Arguments

d1
Output of distee.
d2
Output of distee.
hirow
Names of rows to highlight in green.
hicol
Names of columns to highlight in orange.
xlab
X-axis label (optional)
ylab
Y-axis label (optional)
smoothScatter
If TRUE, plot non-self distances with smoothScatter; if FALSE, use plot.
colself
Color to use for the self-self points. If NULL, these aren't plotted.
colnonself
Color to use for the non-self points. If NULL, these aren't plotted.
colhirow
Color to use for the hirow points. If NULL, these aren't plotted.
colhicol
Color to use for the hicol points. If NULL, these aren't plotted.
...
Passed to plot and points.

Value

  • None.

See Also

pulldiag, distee, summary.lineupdist

Examples

Run this code
# simulate MVN, 100 individuals, 40 measurements (of which 20 are just noise)
V <- matrix(0.3, ncol=20, nrow=20) + diag(rep(0.5, 20)) 
D <- chol(V)
z <- matrix(rnorm(20*100), ncol=20)
# create two data matrices as z + noise
x <- cbind(z + rnorm(20*100, 0, 0.2), matrix(rnorm(20*100), ncol=20))
y <- cbind(z + rnorm(20*100, 0, 0.2), matrix(rnorm(20*100), ncol=20))

# permute some rows
x[51:53,] <- x[c(52,53,51),]
y[41:42,] <- y[42:41,]

# add column and row names
dimnames(x) <- dimnames(y) <- list(paste("ind", 1:100, sep=""),
                                   paste("gene", 1:40, sep=""))

# calculate correlations between cols of x and cols of y
thecor <- corbetw2mat(x, y)

# subset x and y, taking only columns with corr > 0.75
xs <- x[,thecor > 0.8]
ys <- y[,thecor > 0.8]

# calculate distance (using "RMS difference" as a measure)
d1 <- distee(xs, ys, d.method="rmsd", labels=c("x","y"))

# calculate distance (using "correlation" as a measure...really similarity)
d2 <- distee(xs, ys, d.method="cor", labels=c("x", "y"))

# pull out the smallest 8 self-self correlations
sort(pulldiag(d2))[1:8]

# summary of results
summary(d1)
summary(d2)

# order to put matches together
summary(d2, reorder="alignmatches")

# plot histograms of RMS distances
plot(d1)

# plot histograms of correlations
plot(d2)

# plot distances against one another
plot2dist(d1, d2)

Run the code above in your browser using DataLab