abbreviate               package:base               R Documentation

Abbreviate Strings

Description:

     Abbreviate strings to at least 'minlength' characters, such that
     they remain _unique_ (if they were).

Usage:

     abbreviate(names.arg, minlength = 4, use.classes = TRUE,
                dot = FALSE)

Arguments:

names.arg: a character vector of names to be abbreviated, or an object
          to be coerced to a character vector by 'as.character'.

minlength: the minimum length of the abbreviations.

use.classes: logical (currently ignored by R).

     dot: logical; should a dot ('"."') be appended?

Details:

     The algorithm used is similar to that of S. First spaces at the
     beginning of the word are stripped. Then any other spaces are
     stripped. Next lower case vowels are removed followed by lower
     case consonants. Finally if the abbreviation is still longer than
     'minlength' upper case letters are stripped.

     Letters are always stripped from the end of the word first. If an
     element of 'names.arg' contains more than one word (words are
     separated by space) then at least one letter from each word will
     be retained. If a single string is passed it is abbreviated in the
     same manner as a vector of strings.

     Missing ('NA') values are not abbreviated.

     If 'use.classes' is 'FALSE' then the only distinction is to be
     between letters and space.  This has NOT been implemented.

     There is a limit on 8191 bytes on the elements of 'names.arg'
     (after possible coercion).

Value:

     A character vector containing abbreviations for the strings in its
     first argument.  Duplicates in the original 'names.arg' will be
     given identical abbreviations.  If any non-duplicated elements
     have the same 'minlength' abbreviations then 'minlength' is
     incremented by one and new abbreviations are found for those
     elements only.  This process is repeated until all unique elements
     of 'names.arg' have unique abbreviations.

     The character version of 'names.arg' is attached to the returned
     value as a names argument: no other attributes are retained.

Warning:

     This is really only suitable for English, and does not work
     correctly with non-ASCII characters in UTF-8 locales.  It will
     warns if used with non-ASCII characters.

See Also:

     'substr'.

Examples:

     x <- c("abcd", "efgh", "abce")
     abbreviate(x, 2)

     (st.abb <- abbreviate(state.name, 2))
     table(nchar(st.abb))# out of 50, 3 need 4 letters

