Learn R Programming

hash (version 2.2.6.3)

values: Extract values of a hash object.

Description

Extract values from a hash object. This is a pseudo- accessor method that returns hash values (without keys) as a vector if possible, a list otherwise.

simplifies them to the lowest order (c.f. simplify). It is very similar to h[[ keys(h) ]] , An optional key. It is identical to h[[ keys(h) ]] .

For details about hash accessors, please see hash-class

Usage

# S4 method for hash
values(x, keys=NULL, ...)
  # S4 method for hash
values(keys=NULL) <- value

Value

Please see details for which value will be returned:

vector

Vector with the type as the values of the hash

list

list containing the values of the hash

Arguments

x

The hash from where the values retrieved

keys

A vector of keys to be returned.

...

Arguments passed to sapply

value

For the replacement method, the value(s) to be set.

Author

Christopher Brown

Details

The values method returns the values from a hash. It is similar to h[[ keys(h) ]] except that a named vector or list is returned instead of a hash. : By default, the returned values are simplified by coercing to a vector or matrix if possible; elements are named after the corresponding key. If the values are of different types or of a complex class than a named list is returned. Argument simplify can be used to control this behavior.

If a character vector of keys is provided, only these keys are returned. This also allows for returning values mulitple times as in:

values(h, keys=c('a','a','b' ) )

This is now the preferred method for returning multiple values for the same key.

The replacement method, values<- can replace all the values or simply those associated with the supplied keys. Use of the accessor '[' is almost always preferred.

References

http://blog.opendatagroup.com/2009/10/21/r-accessors-explained/

See Also

See also hash, sapply.

Examples

Run this code

  h <- hash( letters, 1:26 )
  values(h)  # 1:26
  values(h, simplify = FALSE )
  values(h, USE.NAMES = FALSE )

  h <- hash( 1:26, letters )
  values(h) 
  values(h, keys=1:5 )
  values(h, keys=c(1,1,1:5) )
  values(h, keys=1:5) <- 6:10 
  values(h) <- rev( letters )

Run the code above in your browser using DataLab