From the r-help mailing list:
x <- rnorm(10) y <- runif(10) z <- 1:10
plot(x~z, ylim=range(x, y), type='l') lines(y, col='red')
If you're not happy with what R puts on the axes of your plot (tickmarks, labels etc), plot with "axes=F", then add custom axes with the "axis()" function.
You have a plot, and you want to draw a grid behind it. If you add the grid to the plot, using either
grid()or
abline(), the lines will be added on top of your plot, not behind it. I found the solution on the R-help mailing list, here. Redraw the plot after adding the grid, but first set
par(new=T)so that it will be drawn on top of the old plot on the same device.
To replace all NA values in an object with zeroes:
x[is.na(x)] <- 0
If you want to do this only for some columns in a matrix or data frame, try this tip, which was posted by John Fox on the R-help mailing list:
cols <- c(1,3) x[,cols][is.na(x[,cols])] <- 0
If you want to replace the NAs everywhere except in a single column, spare yourself some typing by:
cols <- -3
(then,
x[,cols][is.na(x[,cols])] <- 0replaces everywhere except in the third column.)