Description Usage Arguments Details Value Author(s) References See Also Examples
classIndex converts the class of x to an integer:  
NULL
logical
integer
numeric
complex
raw
character
other
index2class converts an integer back to the 
corresponding class.  
1 2  | classIndex(x)
index2class(i, otherCharacter=TRUE)
 | 
x | 
 an object whose class index is desired.  | 
i | 
 an integer to be converted to the name of the corresponding class  | 
otherCharacter | 
 logical: TRUE to convert 8 to "character"; FALSE to convert 8 to "other".  | 
The 
Writing R Extensions lists six different kinds of "atomic 
vectors":  logical, integer, numeric, complex, character,
and raw:  See also 
Wickham 
(2013, section on "Atomic vectors" in the chapter on   
"Data structures").  These form a standard heirarchy, 
except for "raw", in that standard operations combining 
objects with different atomic classes will create an 
object of the higher class.  For example, TRUE + 
  2 + pi returns a numeric object ((approximately 
6.141593).  Similarly, paste(1, 'a') returns
the character string "1 a". 
For "interpolation", we might expect users interpolating between objects of class "raw" (i.e., bytes) might most likely prefer "Numeric" to "Character" interpolation, coerced back to type "raw".
The index numbers for the classes run from 1 to 8 to make it easy to convert them back from integers to character strings.
classIndex returns an integer between 1 and 7 
depending on class(x).  
index2class returns a character string for the 
inverse transformation.  
Spencer Graves
Wickham, Hadley (2014) Advanced R, especially Wickham (2013, section on "Atomic vectors" in the chapter on "Data structures").
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36  | ##
## 1.  classIndex
##
x1 <- classIndex(NULL)
x2 <- classIndex(logical(0))
x3 <- classIndex(integer(1))
x4 <- classIndex(numeric(2))
x5 <- classIndex(complex(3))
x6 <- classIndex(raw(4))
x7 <- classIndex(character(5))
x8 <- classIndex(list())
# check 
all.equal(c(x1, x2, x3, x4, x5, x6, x7, x8), 1:8)
##
## 2.  index2class 
##
c1 <- index2class(1)
c2 <- index2class(2)
c3 <- index2class(3)
c4 <- index2class(4)
c5 <- index2class(5) 
c6 <- index2class(6) 
c7 <- index2class(7)
c8 <- index2class(8)
c8o <- index2class(8, FALSE)
# check 
all.equal(c(c1, c2, c3, c4, c5, c6, c7, c8, c8o), 
          c('NULL', 'logical', 'integer', 'numeric', 
            'complex', 'raw', 'character', 'character', 
            'other'))
 | 
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.