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.gal...@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.k...@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@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: rai...@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@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@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.