[R] plot question

Gabor Grothendieck ggrothendieck at gmail.com
Sun Jan 3 22:10:19 CET 2010


I gather that each row defines one series, right?   In that case try this:


Lines <- "date    sober    no    vm    nm    va    na    vs
20091229    NA    6.8    NA    2.7    11.7    2.7    6.2
20091230    NA    6.8    NA    2.7    11.7    2.7    6.2
20091231    NA    6.8    NA    2.7    11.7    2.7    6.2"

# g <- read.table("myfile.txt", header = TRUE)
g <- read.table(textConnection(Lines), header = TRUE)

# create zoo object with each series in a column and plot it
# na.approx fills in NAs with interpolated values

library(zoo)

z <- zoo(t(g[, -1]))
colnames(z) <- g[,1]

plot(na.approx(z), type = "b", main = "Glucose")

If you want the series surperimposed on one panel then add the
screens=1 argument to the last line.


On Sun, Jan 3, 2010 at 3:24 PM, Albert-Jan Roskam <fomcl at yahoo.com> wrote:
> Hi,
>
> I am new to R so forgive me if the following query is somewhat simple.  I have a small tab-separated file with n records of glucose values, one record per day, seven measurements per day. It looks like this:
>
> date    sober    no    vm    nm    va    na    vs
> 20091229    NA    6.8    NA    2.7    11.7    2.7    6.2
>
> I'd like to make a graph on which the glucose day curves are plotted separately for each day. I'm sure I'll be able to make it pretty (such as labelling, etc), but yesterday I've been struggling just a bit too long to get the basics right. Here's what I've got till sofar:
>
> file = "d:/temp/glucose.tab"
> glucose <- read.table(file, header=TRUE, sep="\t", row.names="datum") #
> # Not sure if I got the row.names correct, I may need to use as.character (I believe I did use #that in the interactive session).
> attach(glucose)
> summary(glucose)
>
> ncol <- length(names(glucose))
> xrange <- range(1, ncol)
> yrange <- range(0, max(!is.na(glucose[1:ncol])))
>
> nrecs <- nrow(glucose)
> colors <- rainbow(nrecs)
> linetype <- c(1:nrecs)
> plot(xrange, yrange, type="n", xlab="Measurement moment",  ylab="Glucose (mmol/liter)")
> for (i in 1: nrecs) {
>   daily_values <- glucose[i,]
>   lines(daily_values, type="b", lwd=1.5, lty=linetype[i], col=colors[i])
> }
>
> So I want to loop over the file and add the plot lines one by one (day by day), but it seems that something's not yet right because nothing appears on the graph. Can anybody give me some pointers? Thank you in advance
>
>
> Cheers!!
>
> Albert-Jan
>
>
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> In the face of ambiguity, refuse the temptation to guess.
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
>
>
>        [[alternative HTML version deleted]]
>
>
> ______________________________________________
> R-help at 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.
>
>



More information about the R-help mailing list