R - Factor and Levels

#create a vector with eye colors of 8 persons
eyecolor <- c("black", "brown", "black", "green", "brown", "blue", "green", "blue")
eyecolor_factor <- factor(eyecolor)

eyecolor_factor         #prints the values with levels
levels(eyecolor_factor) #prints only the levels


[1] black brown black green brown blue  green blue 
Levels: black blue brown green
[1] "black" "blue"  "brown" "green"
Unordered Factors
#In the above example, we cannot compare the factors since they are unordered
eyecolor_factor[1] > eyecolor_factor[2]

[1] NA
Warning message:
In Ops.factor(eyecolor_factor[1], eyecolor_factor[2]) :
  ‘>’ not meaningful for factors
Ordered Factors
#Create a vector with different ratings
rating <- c("poor","bad","excellent","average","good","excellent")
rating_factor <- factor(rating, ordered=TRUE,
                        levels = c("bad","poor","average","good","excellent"))
rating_factor                        #prints with varying levels
rating_factor[1] > rating_factor[2]  #compare them
[1] excellent good      average   bad       poor     
Levels: bad < poor < average < good < excellent
[1] TRUE

R - Vectors


Vectors

#create a vector with logical datatypes
vec1 <- c(TRUE, FALSE, T, F)
vec1
class(vec1)

[1]  TRUE FALSE  TRUE FALSE
[1] "logical"


#create a vector with numeric datatypes
vec2 <- c(1, 2, 3.5, 4, 5)
vec2
class(vec2)

[1] 1.0 2.0 3.5 4.0 5.0
[1] "numeric"

#create a vector with integer datatypes
vec3 <- c(1L, 4L)
vec3
class(vec3)

[1] 1 4
[1] "integer"
#create a vector with character datatypes
vec4 <- c("a", "b", "c", "4", "5")
vec4
class(vec4)

[1] "a" "b" "c" "4" "5"
[1] "character"

#create a vector with complex datatypes
vec5 <- c(4i)
vec5
class(vec5)

[1] 0+4i
[1] "complex"
#create a vector with raw datatypes
vec6 <- c(as.raw(35), charToRaw("apple"))
vec6
class(vec6)

[1] 23 61 70 70 6c 65
[1] "raw"