Gary W <g.watmough <at> gmail.com> writes: > > > Hi > > I am trying to add density lines to multiple histograms created using R. I > have managed to get all 18 lines on the last histogram in the series, > however, i cannot figure out how to get each line appear on the correct > histogram plot. I know in Matlab there is a hold function, is there > something similar in R? > > ##find unique column names in table > variablenames<-unique(names(variables)) > ## define number of unique names > Nvariables<-length(variablenames) > for(i in 1:Nvariables){ > par(mfrow=c(1,1),ask=TRUE) > }
previous loop is a little weird -- it has exactly the same result as just running the command inside once. Labeling with the numeric values is a bit of a pain. If you don't need them you can just do lapply(variables, function(v) { hist(v,prob=TRUE) lines(density(v),lwd=2) }) If you need the labels you can either do mapply(function(v,i) { hist(v,prob=TRUE,main=paste("Histogram of",i),xlab=i) lines(density(v),lwd=2) }, variables, 1:Nvariables) Or it might be easier to just do the whole thing with a for loop: for (i in 1:Nvariables) { hist(variables[[i]],prob=TRUE,main=paste("Histogram of",i),xlab=i) lines(density(variables[[i]]),lwd=2) } Ben Bolker ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.