[R] Lines for plot (Sweave)
Doran, Harold
HDoran at air.org
Fri Jul 1 19:57:50 CEST 2005
Fabulous, it works great. I didn't know about approx().
Thank you
-----Original Message-----
From: Gabor Grothendieck [mailto:ggrothendieck at gmail.com]
Sent: Friday, July 01, 2005 1:54 PM
To: Doran, Harold
Cc: r-help at stat.math.ethz.ch
Subject: Re: [R] Lines for plot (Sweave)
On 7/1/05, Doran, Harold <HDoran at air.org> wrote:
> Dear List:
>
> I am generating a series of plots iteratively using Sweave. In short,
> a dataframe is subsetted row by row and variable graphics are created
> conditional on the data in each row. In this particular case, this
> code ends up generating 17,000 individual plots.
>
> In some cases, all student data (this is working with student
> achievement data) are available and my code below works very well in
> the sense that a line connects all points. However, in some cases
> there are missing data and I need to modify my code so that lines are
> connected through all points even when data are missing.
>
> Here is a snip of relevant code. In the actual program, the data in
> stu.vector and avg.vector are obtained from the dataframe as the
> programs loops through each row.
>
> stu.vector<-c(2500, 2510, NA , 2600)
> avg.vector<-c(2635, 2589, 2628, 2685)
> x <- c(0,1,2,3)
> graph.min <- min(stu.vector,avg.vector ,na.rm=TRUE)-150 graph.max <-
> max(stu.vector,avg.vector ,na.rm=TRUE)+150 plot(x, stu.vector,
> ylim=c(graph.min,graph.max), xlab=" ", ylab="Scaled Score", xaxt='n',
> pch=2, col='blue', main="Math Growth Rate") points(x, avg.vector,
> pch=1, col='red') lines(x, stu.vector, lty=1, col='blue') lines(x,
> avg.vector, lty=3, col='red')
>
> If the NA did not exist in the object stu.vector then all points would
> be connected with lines. However, in some cases data are missing and I
> need to connect the data in stu.vector with lines. So in this case,
> the line would connect points 1 and 2, and then 2 and 4 even though
> point 3 is missing.
Replace the first lines statement with:
lines(approx(x, stu.vector), lty=1, col='blue')
More information about the R-help
mailing list