On Mar 25, 2011, at 3:23 PM, Pam Allen wrote:
Hello Baptiste and others,
I tried your example with my dataset, and for a few days I thought
it worked
for me. But I realized yesterday that the result wasn't quite what
I hoped
for. In my actual data the flows aren't perfectly sinusoidal, and I
used a
series of ifelse queries to code the flows into their different
categories
(i.e., extremely high, high, low, extremely low). Your solution
almost
worked, except that some flows are coloured incorrectly. I think
the issue
lies in the use of the "transform" or "approx" functions. I tried to
understand what they do, but I wasn't able to figure it out.
Is there a way to use the exact data set, i.e.:
date=c(1:300)
flow=sin(2*pi/53*c(1:300))
levels=c(rep(c("high","med","low"),100))
data=cbind.data.frame(date, flow, levels)
Don't use `data` as a name. It's a function.
With the following colours:
colour=ifelse(data$levels=="high","red",
ifelse(data$levels=="med","green",
ifelse(data$levels=="low","blue","")))
And plot a line without having to create new data, i.e. "d"?
with(dat,plot(date,flow,type="n"))
with(dat, segments(date[1:299],flow[1:299], # starting points for
segments
date[2:300],flow[2:300], # ending points offset
by 1
col=c("red","green","blue")[levels[1:299]]))
I'mn ot sure the colors line up because you didn't define your factor
in a manner that was properly ordered;
> str(dat)
'data.frame': 300 obs. of 3 variables:
$ date : int 1 2 3 4 5 6 7 8 9 10 ...
$ flow : num 0.118 0.235 0.348 0.457 0.559 ...
$ levels: Factor w/ 3 levels "high","low","med": 1 3 2 1 3 2 1 3 2
1 ...
Better would have been to relevel after creating `levels` AND NOT USE
`levels` as a name. It's an argument name in factor:
levels=factor(levels, levels=c("high","med","low") )
Now you know what order they will be handled when used as an index.
--
David Winsemius, MD
West Hartford, CT
______________________________________________
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.