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

From: Rainer M Krug <r.m.krug_at_gmail.com>
Date: Wed, 30 Mar 2011 11:20:07 +0200

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 30/03/11 10:59, Tal Galili wrote:
> Hello Rainer and Fernando,
>
> Actually, I think this function should involve the which.max (not max):

Right - was not awarw of which.max - I would have used which(max(...)) - which.max is much more elegant.

Thanks,

Rainer

>
> 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)

It is advisable to use FaALSE instead of F, especially in a function: you can assign values to F and T, but you can not assign values to FALSE and TRUE

Cheers,

Rainer

> {
> 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 <mailto:Tal.Galili_at_gmail.com> |
> 972-52-7275845
> Read me: www.talgalili.com <http://www.talgalili.com> (Hebrew) |
> www.biostatistics.co.il <http://www.biostatistics.co.il> (Hebrew) |
> www.r-statistics.com <http://www.r-statistics.com> (English)
> ----------------------------------------------------------------------------------------------
>
>
>
>
> On Wed, Mar 30, 2011 at 11:26 AM, Rainer M Krug <r.m.krug_at_gmail.com
> <mailto:r.m.krug_at_gmail.com>> wrote:
>
> 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 <mailto: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.

>
>


R-help_at_r-project.org <mailto: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.

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/

iEYEARECAAYFAk2S9ccACgkQoYgNqgF2egqLtQCeM5ntWTHOy2wyk4CbOxwnUfJG VZUAnRcOpRImBm/AbhsK14O54+pzCP6H
=QW4d
-----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 and provide commented, minimal, self-contained, reproducible code. Received on Wed 30 Mar 2011 - 10:56:08 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:10:25 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