Re: [R] peak finding

From: <Bill.Venables_at_csiro.au>
Date: Tue, 25 Mar 2008 13:36:09 +1000

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.                           

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. Received on Tue 25 Mar 2008 - 03:40:40 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Tue 25 Mar 2008 - 04:30:23 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive