Group Vector Class


groupVec is a class that groups a list of vectors so that they can act like a single atomic vector.


groupVec is a class for objects that act as vectors but are actually made up of a collection of vectors of the same length, and which are accessed together and would usually be expected to be printed as if they were simple atomic vectors.
The groupVec class manages the basic vector operations, such as subscripting and length. Extending classes must manage the meaning of the collection of vectors and more specific operations such as character coercion. Extending classes can have other information (although probably not the same length) in other slots. Subscripting on a groupVec-extended class carries this information along unchanged.
A groupVec object also has the following characteristics:
The object is intended to be used as a base class for defining other classes with fixed column names and classes but could also be used as a more dynamic list.
The difference between a groupVec and a data.frame, matrix, or other rectangular structure is that a groupVec is meant to hold objects whose columns really should not be considered as separate observations. For example, the timeDate class is a groupVec whose columns are the date and time of day in GMT, with additional slots for output format and time zone. Because the date can affect the time of day in the local time zone (if there is daylight savings time), and the time of day can affect the date in the local time zone (if the time zone conversion crosses a date boundary), and because each time and date in the timeDate object is displayed as a single character string containing both time and date, the time and date columns are not meant to be accessed separately, and in fact the user does not even have to know that they are stored separately.
The objects in groupVec columns do not have to be atomic vectors. They can be any class that has a well-defined length. This design allows one groupVec object to hold other groupVec objects, lists, data.frames, any type of R vectors, and user-defined types in its columns.
If type checking is not desired for a column, the column class can be set to "ANY", because any R object has an is relationship with the special "ANY" class.
Objects from the Class
Create objects using calls of the form new("groupVector", ...) or groupVector.
(list) the list of vector columns.
(character) the column names.
(character) the column classes.
GroupVec functions
Although the slots of a groupVec can be accessed directly, it is not recommended. Instead, there are several access functions that you can use on the left or right side of assignments, and that preserve the validity of groupVec objects. These functions are: See individual function documentation for more information.
Several methods have been defined for groupVec objects for standard vector operations. All operate on groupVec objects as if they were atomic vectors:
See Also
groupVecValid, groupVecExtValid, groupVec function, groupVecColumn, groupVecData, groupVecNames, groupVecClasses.
Package splusTimeDate version 6.0.0-68
Package Index