On 01/07/2011 09:43 AM, Rainer M Krug wrote: > On 01/07/2011 08:43 AM, Edzer Pebesma wrote: > > >> On 01/07/2011 04:11 AM, jroll wrote: >>> >>> Hey everyone, >>> Im getting better at plotting my data but cant for the life of me figure >>> out how to show a line graph with missing data that doesnt continue the line >>> down to zero then back up to the remaining values. >>> >>> Consider the following >>> x<-c(1:5,0,0,8:10) >>> y<-1:10 >>> >>> plot(0,0,xlim=c(0,10), ylim=c(0,10),type="n",main="Dont show the bloody 0 >>> values!!") >>> lines(x~y, col="blue", lwd=2,) >>> >>> My data is missing the 6th and 7th values and they come in as NA's so i >>> change them to 0s but then the plot has these ugly lines that dive toward >>> the x axis then back up. I would do bar plots but i need to show multiple >>> sets of data on the same and side by side bars doesnt do it for me. >>> >>> So i need a line graph that starts and stops where 0s or missing values >>> exist. Thoughts? > >> x<-c(1:5,NA,NA,8:10) >> y<-1:10 > >> plot(0,0,xlim=c(0,10), ylim=c(0,10),type="n",main="Dont show the bloody 0 >> values!!") >> lines(x~y, col="blue", lwd=2,) > > And just to complete it: to replace all the 0 in x with NA, you can do > > x[x==0] <- NA > > There is also the is.na() function which should do this, i.e. > > is.na(x) <- 0 > > should (in my understanding) set all 0 values in x to NA - but it dose > not work, whereas setting e.g. all the 4s to NA works: > >> x<-c(1:5,0,0,8:10) >> is.na(x) <- 0 >> x > [1] 1 2 3 4 5 0 0 8 9 10 >> is.na(x) <- 4 >> x > [1] 1 2 3 NA 5 0 0 8 9 10 > > > Why is this? Is this a bug in R or in y understanding?
try ?is.na: Usage: NA is.na(x) ## S3 method for class 'data.frame' is.na(x) is.na(x) <- value Arguments: x: an R object to be tested: the default method handles atomic vectors, lists and pairlists. value: a suitable index vector for use with ‘x’. so, is.na(x) <- 0 does nothing, as 0 is not a suitable index vector: > x = 1:10 > x[0] integer(0) x[5] = 0 is.na(x) <- x == 0 x [1] 1 2 3 4 NA 6 7 8 9 10 does what you wanted, I believe. > > Cheers, > > Rainer > >>> >>> JR > > > -- Edzer Pebesma Institute for Geoinformatics (ifgi), University of Münster Weseler Straße 253, 48151 Münster, Germany. Phone: +49 251 8333081, Fax: +49 251 8339763 http://ifgi.uni-muenster.de http://www.52north.org/geostatistics e.pebe...@wwu.de _______________________________________________ R-sig-Geo mailing list R-sig-Geo@r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-geo