Re: [R] calculating the mode in R...

From: Tal Galili <tal.galili_at_gmail.com>
Date: Wed, 30 Mar 2011 11:59:26 +0300

Hello Rainer and Fernando,

Actually, I think this function should involve the which.max (not max):

Here is a tiny function to perform this (with smarter handeling of multiple modes and giving proper warning in such cases) The.mode <- function(x, show_all_modes = F) {
 x_freq <- table(x)
 mode_location <- which.max(x_freq)
 The_mode <- names(x_freq)[mode_location]  Number_of_modes <- length(mode_location)  #
 if(show_all_modes) {
  if(Number_of_modes >1) {
   warning(paste("Multiple modes exist - returning all",Number_of_modes,"of them"))}
  return(The_mode)
 } else {
  if(Number_of_modes >1) {
   warning(paste("Multiple modes exist - returning only the first one out of", Number_of_modes))}
  return(The_mode[1])
 }
}

Cheers,
Tal

----------------Contact
Details:-------------------------------------------------------
Contact me: Tal.Galili_at_gmail.com | 972-52-7275845 Read me: www.talgalili.com (Hebrew) | www.biostatistics.co.il (Hebrew) | www.r-statistics.com (English)

On Wed, Mar 30, 2011 at 11:26 AM, Rainer M Krug <r.m.krug_at_gmail.com> wrote:

> -----BEGIN PGP SIGNED MESSAGE-----

> Hash: SHA1
>
> On 30/03/11 02:47, Fernando Marmolejo Ramos wrote:
> > Dear R users
> >
> > I?m aware that the package ?modest? is useful to find the mode in an
> array.
> >
> > However, I?d like to know if someone has translated the ?mode? function
> built-in
> > in MATLAB into R language. This function finds the most frequent value in
> an
> > array (http://www.mathworks.com/help/techdoc/ref/mode.html).
>
> This sounds like a combination of the table() which tabulates your data,
> and the max() function to identify the max - but then you have to
> specify what to do when two values have the same count.
>
> Rainer
>
> >
> > Best
> >
> > Fer
> >
> > ______________________________________________
> > 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<http://www.r-project.org/posting-guide.html>
> > and provide commented, minimal, self-contained, reproducible code.
>
>
> - --
> Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation
> Biology, UCT), Dipl. Phys. (Germany)
>
> Centre of Excellence for Invasion Biology
> Natural Sciences Building
> Office Suite 2039
> Stellenbosch University
> Main Campus, Merriman Avenue
> Stellenbosch
> South Africa
>
> Tel:        +33 - (0)9 53 10 27 44
> Cell:       +27 - (0)8 39 47 90 42
> Fax (SA):   +27 - (0)8 65 16 27 82
> Fax (D) :   +49 - (0)3 21 21 25 22 44
> Fax (FR):   +33 - (0)9 58 10 27 44
> email:      Rainer_at_krugs.de
>
> Skype:      RMkrug

> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.10 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>
> iEYEARECAAYFAk2S6TIACgkQoYgNqgF2ego48ACdHfCL+BdGA6wZ4bHrjq2wCXJW
> vIoAnREiHFeSbJy9vYQPEnRhpV6nLbNB
> =suk2

> -----END PGP SIGNATURE-----
>
> ______________________________________________
> 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<http://www.r-project.org/posting-guide.html>
> and provide commented, minimal, self-contained, reproducible code.
>

	[[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. Received on Wed 30 Mar 2011 - 09:11:06 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 Wed 30 Mar 2011 - 11:00:26 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