05 - Tipos de datos (1)

François Rebaudo, IRD francois.rebaudo@ird.fr

Marzo 2019 ; PUCE-Quito-Ecuador http://myrbooksp.netlify.com/

CC BY-NC-ND 3.0

El tipo numeric

El tipo numeric

Para los números… con dos subtipos:

  • los números enteros: integer
  • los números con coma o decimales: double

Con R, por defecto, todos los números son del tipo double.

El tipo numeric

miNumPref <- 9
typeof(miNumPref)
## [1] "double"

En este ejemplo, miNumPref tiene el tipo double.

El tipo numeric

miNumPref <- 9
is.numeric(miNumPref)
## [1] TRUE
is.double(miNumPref)
## [1] TRUE
is.integer(miNumPref)
## [1] FALSE

El tipo numeric

miNumPref <- as.integer(9)
is.numeric(miNumPref)
## [1] TRUE
is.double(miNumPref)
## [1] FALSE
is.integer(miNumPref)
## [1] TRUE

El tipo numeric

miNumPref <- as.integer(9.999)
print(miNumPref)
## [1] 9
typeof(miNumPref)
## [1] "integer"

El tipo numeric

integer + double = double

sumIntDou <- as.integer(5) + 5.2
typeof(sumIntDou)
## [1] "double"
is.numeric(sumIntDou)
## [1] TRUE

El tipo numeric

Alternativa a as.integer: L

miNumPref <- 9L
typeof(miNumPref)
## [1] "integer"
is.numeric(miNumPref)
## [1] TRUE

El tipo character

El tipo character

Para el textoentre comillas dobles " o simples '.

miTexto <- "bla bla bla"
otroTexto <- 'ja ja ja'
typeof(miTexto)
## [1] "character"
typeof(otroTexto)
## [1] "character"

El tipo character

print(miTexto)
## [1] "bla bla bla"
print(otroTexto)
## [1] "ja ja ja"

El tipo character

miTexto <- "bla 'bla' bla"
print(miTexto)
## [1] "bla 'bla' bla"
cat(miTexto)
## bla 'bla' bla

El tipo character

miTexto <- "bla \"bla' bla"
print(miTexto)
## [1] "bla \"bla' bla"
cat(miTexto)
## bla "bla' bla
miTexto <- 'bla "bla\' bla'
print(miTexto)
## [1] "bla \"bla' bla"
cat(miTexto)
## bla "bla' bla

Nota sobre print(x) y x

miTexto <- "bla \"bla' bla"
miTexto
## [1] "bla \"bla' bla"
print(miTexto)
## [1] "bla \"bla' bla"
cat(miTexto)
## bla "bla' bla

Nota sobre print(x) y x

El tipo character

miTexto <- "5"
typeof(miTexto)
## [1] "character"
miNumPref <- 9
miNumPref <- as.character(miNumPref)
typeof(miNumPref)
## [1] "character"
print(miNumPref)
## [1] "9"

El tipo character

miNumPref <- as.character(9)
is.numeric(miNumPref)
## [1] FALSE
miNumPref + 5
## Error in miNumPref + 5: non-numeric argument to binary operator

Error in miNumPref + 5: non-numeric argument to binary operator

El tipo factor

El tipo factor

Los factores son una elección dentro de una lista finita de posibilidades. Por ejemplo, los países son factores porque existe una lista finita de países en el mundo en un momento dado.

factor01 <- factor("f", levels = letters)
print(factor01)
## [1] f
## Levels: a b c d e f g h i j k l m n o p q r s t u v w x y z

El tipo factor

typeof(factor01)
## [1] "integer"
is.factor(factor01)
## [1] TRUE
levels(factor01)
##  [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q"
## [18] "r" "s" "t" "u" "v" "w" "x" "y" "z"
as.numeric(factor01)
## [1] 6

El tipo factor

as.character(factor01)
## [1] "f"

El tipo logical

El tipo logical

El tipo logical corresponde a los valores TRUE y FALSE (y NA) que ya hemos visto con los operadores de comparación.

aLogic <- TRUE
print(aLogic)
## [1] TRUE
typeof(aLogic)
## [1] "logical"

El tipo logical

is.logical(aLogic)
## [1] TRUE
aLogic + 1
## [1] 2
as.numeric(aLogic)
## [1] 1
as.character(aLogic)
## [1] "TRUE"

Acerca de NA

Acerca de NA

El valor NA se puede usar para especificar que no hay datos o datos faltantes. Por defecto, NA es logical, pero se puede usar para texto o números.

print(NA)
## [1] NA
typeof(NA)
## [1] "logical"

Acerca de NA

typeof(as.integer(NA))
## [1] "integer"
typeof(as.character(NA))
## [1] "character"

Acerca de NA

NA == TRUE
## [1] NA
NA == FALSE
## [1] NA
NA > 1
## [1] NA
NA + 1
## [1] NA

SIGUIENTE