aa <- 3
bb <- 3L
cc <- "3"
dd <- "TRUE"
ee <- TRUE
ff <- "NA"
gg <- NAData types
Creating objects
First, let’s create some objects:
aa <- 3; bb <- 3L; cc <- "3"; dd <- "TRUE"; ee <- TRUE; ff <- "NA"; gg <- NA
Checking data types
Guess what data type each object is then check it.
typeof(aa)[1] "double"
typeof(bb)[1] "integer"
typeof(cc)[1] "character"
typeof(dd)[1] "character"
typeof(ee)[1] "logical"
typeof(ff)[1] "character"
typeof(gg)[1] "logical"
How do we test if aa is an integer?
is.integer(aa)[1] FALSE
What will is.logical(dd) return?
is.logical(dd)[1] FALSE
How do we test if ff and gg are NA?
is.na(ff)[1] FALSE
is.na(gg)[1] TRUE
Checking if objects are the same
Are aa and bb the same? How do we test this?
aa[1] 3
bb[1] 3
aa == bb[1] TRUE
What about aa and cc?
aa[1] 3
cc[1] "3"
aa == cc[1] TRUE
A safer comparison tool is identical(). Test if aa and bb are identical. Then try aa and cc.
identical(aa, bb)[1] FALSE
identical(aa, cc)[1] FALSE
Now see if aa is identical to 3 and if bb is identical to 3L.
identical(aa, 3)[1] TRUE
identical(bb, 3L)[1] TRUE