[R] peak finding
Bill.Venables at csiro.au
Bill.Venables at csiro.au
Tue Mar 25 04:36:09 CET 2008
Then the answer is pretty simple: 'no'.
The idea probably needs a lot more refining to make it workable, too.
Why do you discard he peak at 2, with the shape starting at 1 and
finishing at 4, for example?
In thinking about this it might be useful for you to look at signs of
successive differences:
> sign(diff(c(-Inf, x)))
[1] 1 1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 1 -1
That's perhaps a starting point. You seem to want to know (roughly)
"where do the runs of '1's start and the following run of '-1's end?"
The function rle(), for run length encoding, might be useful in this
regard, too.
Bill Venables.
-----Original Message-----
From: Research Scholar [mailto:thesis1977 at gmail.com]
Sent: Tuesday, 25 March 2008 1:24 PM
To: Venables, Bill (CMIS, Cleveland)
Cc: r-help at r-project.org
Subject: Re: [R] peak finding
Hi
Thanks for replying. I meant x[4] is the start of a peak shape and
x[14] is the end of that peak and x[9] is the maxima of the peak.
Thanks,
John
On Mon, Mar 24, 2008 at 11:09 PM, <Bill.Venables at csiro.au> wrote:
It's hard to see how positions 4 and 14 correspond to 'peaks',
they look
like troughs to me. So perhaps this is what you mean:
> x <- c(14,15,12,11,12,13,14,15,16,15,14,13,12,11,14,12)
> y <- which(x == min(x))
> y
[1] 4 14
as a function:
somefunction <- function(x) which(x == min(x))
Bill Venables
CSIRO Laboratories
PO Box 120, Cleveland, 4163
AUSTRALIA
Office Phone (email preferred): +61 7 3826 7251
Fax (if absolutely necessary): +61 7 3826 7304
Mobile: +61 4 8819 4402
Home Phone: +61 7 3286 7700
mailto:Bill.Venables at csiro.au
http://www.cmis.csiro.au/bill.venables/
-----Original Message-----
From: r-help-bounces at r-project.org
[mailto:r-help-bounces at r-project.org]
On Behalf Of Research Scholar
Sent: Tuesday, 25 March 2008 12:54 PM
To: r-help at r-project.org
Subject: [R] peak finding
Hi all
Is there a function that can find the start and end position of
peaks
in a
set of numbers.
eg.
x <- c(14,15,12,11,12,13,14,15,16,15,14,13,12,11,14,12)
y <- somefunction(x)
y
4 14
Thanks
John
[[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