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:[EMAIL PROTECTED] 
Sent: Tuesday, 25 March 2008 1:24 PM
To: Venables, Bill (CMIS, Cleveland)
Cc: r-help@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, <[EMAIL PROTECTED]> 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:[EMAIL PROTECTED]
        http://www.cmis.csiro.au/bill.venables/
        

        -----Original Message-----
        From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]
        On Behalf Of Research Scholar
        Sent: Tuesday, 25 March 2008 12:54 PM
        To: r-help@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@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.
        
        
        

______________________________________________
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.

Reply via email to