hash-class | R Documentation |
Implements a S4 hash class in R similar to hashes / associated arrays /
dictionaries in other programming languages. Where possible, the hash
class uses the standard R accessors: $
, [
and [[
.
Hash construction is flexible and takes several syntaxes and all hash
operations are supported.
For shorter key-value pairs, lists might yield higher performance, but for lists of appreciable length hash objects handly outperform native lists.
.xData
:Object of class "environment"
. This is the hashed environment
used for key-value storage.
environment
HASH ACCESSORS:
signature(x = "hash", i = "ANY", j = "missing")
: Slice Replacement
signature(x = "hash", i = "ANY", j = "missing", drop = "missing")
: Slice
signature(x = "hash", i = "ANY", j = "missing")
:
Single key replacement with interpolation.
signature(x = "hash", i = "ANY", j = "missing")
: i
Single key look-up with interpolation
signature(x = "hash")
: Single key replacement no interpolation
signature(x = "hash")
: Single key lookup no interpolation
Manipulation:
signature(x = "hash")
: Remove all key-value pairs from hash
signature(x = "ANY", hash = "hash")
: Remove specified key-value pairs from hash
signature(key = "ANY", hash = "hash")
: Test for existence of key
signature(x = "hash")
: Test if no key-values are assigned
signature(x = "hash")
: Return number of key-value pairs from the hash
signature(hash = "hash")
: Retrieve keys from hash
signature(x = "hash")
: Retrieve values from hash
signature(x = "hash")
: Make a copy of a hash using a new environment.
signature(x = "hash")
: Internal function for displaying hash
HASH KEYS must be a valid character value and may not be the empty
string ""
.
HASH VALUES can be any R value, vector or object.
PASS-BY REFERENCE. Environments and hashes are special objects in R because only one copy exists globally. When provide as an argument to a function, no local copy is made and any changes to the hash in the functions are reflected globally.
PERFORMANCE. Hashes are based on environments and are designed to be exceedingly fast using the environments internal hash table. For small data structures, a list will out-perform a hash in nearly every case. For larger data structure, i.e. >100-1000 key value pair the performance of the hash becomes faster. Much beyond that the performance of the hash far outperforms native lists.
MEMORY. Objects of class hash
do not release memory with a call to
rm
. clear
must be called before rm
to properly
release the memory.
Christopher Brown
http://en.wikipedia.org/wiki/Hash_table
http://en.wikipedia.org/wiki/Associative_array
hash-accessors
, environment
.
showClass("hash")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.