Methods for manipulating the keys of a Bimap object

These methods are part of the Bimap interface (see ?Bimap for a quick overview of the Bimap objects and their interface).

#length(x) isNA(x) mappedkeys(x) count.mappedkeys(x) keys(x) <- value #x[i]
A Bimap object. If the method being caled is keys(x), then x can also be a AnnotationDb object or one of that objects progeny.
A character vector containing the new keys (must be a subset of the current keys).
A character vector containing the keys of the map elements to extract.

keys(x) returns the set of all valid keys for map x. For example, keys(hgu95av2GO) is the set of all probe set IDs for chip hgu95av2 from Affymetrix. Please Note that in addition to Bimap objest, keys(x) will also work for AnnotationDb objects and related objects such as OrgDb and ChipDb objects.

Note also that the double bracket operator [[ for Bimap objects is guaranteed to work only with a valid key and will raise an error if the key is invalid. (See ?`Bimap-envirAPI` for more information about this operator.)

length(x) is equivalent to (but more efficient than) length(keys(x)).

A valid key is not necessarily mapped ([[ will return an NA on an unmapped key).

isNA(x) returns a logical vector of the same length as x where the TRUE value is used to mark keys that are NOT mapped and the FALSE value to mark keys that ARE mapped.

mappedkeys(x) returns the subset of keys(x) where only mapped keys were kept.

count.mappedkeys(x) is equivalent to (but more efficient than) length(mappedkeys(x)). Two (almost) equivalent forms of subsetting a Bimap object are provided: (1) by setting the keys explicitely and (2) by using the single bracket operator [ for Bimap objects. Let's say the user wants to restrict the mapping to the subset of valid keys stored in character vector mykeys. This can be done either with keys(x) <- mykeys (form (1)) or with y <- x[mykeys] (form (2)). Please note that form (1) alters object x in an irreversible way (the original keys are lost) so form (2) should be preferred.

All the methods described on this pages are "directed methods" i.e. what they return DOES depend on the direction of the Bimap object that they are applied to (see ?direction for more information about this).


A character vector for keys and mappedkeys.A single non-negative integer for length and count.mappedkeys.A logical vector for isNA.A Bimap object of the same subtype as x for x[i].

See Also

Bimap, Bimap-envirAPI, Bimap-toTable, BimapFormatting, AnnotationDb, select, columns

  • Bimap-keys
  • keys,Bimap-method
  • length,Bimap-method
  • mappedkeys
  • mappedkeys,Bimap-method
  • mappedkeys,environment-method
  • mappedkeys,vector-method
  • count.mappedkeys
  • count.mappedkeys,Bimap-method
  • count.mappedkeys,ANY-method
  • isNA
  • isNA,Bimap-method
  • isNA,environment-method
  • isNA,ANY-method
  • keys<-
  • keys<-,Bimap-method
  • [,Bimap-method
  • show,AnnDbTable-method
  x <- hgu95av2GO

  ## Keep only the mapped keys
  keys(x) <- mappedkeys(x)
  x # now it is a submap

  ## The above subsetting can also be achieved with
  x <- hgu95av2GO[mappedkeys(hgu95av2GO)]

  ## mappedkeys() and count.mappedkeys() also work with an environment
  ## or a list
  z <- list(k1=NA, k2=letters[1:4], k3="x")

  ## retrieve the set of primary keys for the ChipDb object named 'hgu95av2.db'
  keys <- keys(hgu95av2.db)
Documentation reproduced from package AnnotationDbi, version 1.34.4, License: Artistic-2.0

Community examples

Looks like there are no examples yet.