Create an extended factor

factor_ext(x, values, levels, drop = FALSE)

Arguments

x

The object to convert to an factor_ext

values

The values used for the levels; This is were factor_ext is different from a factor, as values for levels do not have to be consecutive or start at 1.

levels

The levels of the object; character string

drop

Should non-occurring levels be dropped

Value

An object of S3 class factor_ext

Details

An extended version of a regular factor variable. Instead of the levels having values from 1 to n where n is the number of levels, any integer value can be used for any level (including 64bit integers). If all values are in the range of a regular 32-bit integer, it is coerced to int. Automatic coercion of extended factors to factors in H5ToR_Post for enums only works for 32-bit integer base types. In this page this is heavily used, as constants in HDF5 can be arbitrary integer values.

Author

Holger Hoefling