It is indeed the fact you're plotting factors, but unless you say what "as intended" is, it's hard to provide exactly what you're seeking. Perhaps this will help though:
X <- factor(sample(letters[1:5], 15, TRUE)) Y <- rnorm(15) dats <- data.frame(X, Y) plot(Y ~ X, data = dats) # No good plot(X ~ Y, data = dats) # Also probably not what you want plot(Y ~ as.numeric(X), data = dats) # Good but ugly lables plot(Y ~ as.numeric(X), data = dats, xaxt = "n", xlab = "X") axis(1, at = seq_along(levels(X)), labels = levels(X)) # Good But perhaps easier is library(ggplot2) qplot(X,Y, dats) Michael On Mon, Apr 23, 2012 at 11:25 AM, la mer <melissarosenkr...@gmail.com> wrote: > Hello, > > I am having a problem where code that plots lines using a different data > frame plots bars with the current data frame (I am intended to plot lines). > The code specifies lines (see below), so I can't figure out why the results > are bars. I suspect that it may have something to do with the fact that in > the data frame where the code worked as intended, the both variables > specifying different lines were numeric, whereas in the current data frame > one of those variables (challenge) is a factor with 2 levels. Any > suggestions for getting this to plot as intended would be much appreciated. > > Thank you! > > ************ This is meant to plot a separate line for each subject for each > challenge************* > for (subj in unique(lab.samples$subid)) { > #par(new=T) > plot.new() > par(mfrow=c(2,1)) > par(mfg=c(1,1)) > plot(data=lab.samples, subset=(subid==subj), cortisol ~ Sample, > type='n', > main=paste('Cortisol and Amylase for subject ', > as.character(subj))) > > for ( t in unique(subset(lab.samples,subid==subj)$challenge) ) { > par(mfg=c(1,1)) > lines(data=lab.samples, subset=(subid==subj & challenge==t), > cortisol ~ Sample, type='b', pch=as.character(t), > col=rainbow(2)[t]) > } > par(mfg=c(2,1)) > plot(data=lab.samples, subset=(subid==subj), amylase ~ Sample, > type='n') > for ( t in unique(subset(lab.samples,subid==subj)$challenge) ) { > par(mfg=c(2,1)) > lines(data=lab.samples, subset=(subid==subj & challenge==t), > amylase ~ Sample, type='b', pch=as.character(t), > col=heat.colors(2)[t]) > } > } > > > -- > View this message in context: > http://r.789695.n4.nabble.com/plot-function-creating-bars-instead-of-lines-tp4580765p4580765.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > 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. ______________________________________________ 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.