Tipos de datos

R tiene 5 tipos distintos de datos

Caracteres
Numéricos
Enteros
Lógicos
Complejos

Utilizo la función class() para saber de que tipo de datos se trata

a<-"hola"
class(a)
## [1] "character"
b<-2
class(b)
## [1] "numeric"
c<-TRUE
class(c)
## [1] "logical"
d<-2L # Utilizo la L para indicar que se trata de un número entero
class(d)
## [1] "integer"
e<-sqrt(as.complex(-1))
class(e)
## [1] "complex"

Tipos de estructuras

R tiene distintos tipos de estructuras de datos

vector list matrix dataframe

vectores

v1 <- c(1,2,5.3,6,-2,4) # vector numérico
v2 <- c("one","two","three") # vector con caracteres
v3 <- c(TRUE,TRUE,TRUE,FALSE,TRUE,FALSE) # vector lógico

Matrices

# crear una matriz
y<-matrix(1:20, nrow=5,ncol=4)
y
##      [,1] [,2] [,3] [,4]
## [1,]    1    6   11   16
## [2,]    2    7   12   17
## [3,]    3    8   13   18
## [4,]    4    9   14   19
## [5,]    5   10   15   20
# Otro ejemplo
cells <- c(1,26,24,68)
rnames <- c("R1", "R2")
cnames <- c("C1", "C2")
mymatrix <- matrix(cells, nrow=2, ncol=2, byrow=TRUE,
  dimnames=list(rnames, cnames))
mymatrix
##    C1 C2
## R1  1 26
## R2 24 68
class(mymatrix)
## [1] "matrix"

Para ver el contenido de la columna y filas dentro de una matriz

y[4,] #para filas
## [1]  4  9 14 19
y[,4] #para columnas
## [1] 16 17 18 19 20

Data Frame (Tabla de datos)

d <- c(1,2,3,4)
e <- c("red", "white", "red", NA)
f <- c(TRUE,TRUE,TRUE,FALSE)
mydata <- data.frame(d,e,f)
names(mydata) <- c("ID","Color","Passed") # nombres de las variables
mydata
##   ID Color Passed
## 1  1   red   TRUE
## 2  2 white   TRUE
## 3  3   red   TRUE
## 4  4  <NA>  FALSE
class(mydata)
## [1] "data.frame"
mydata[1:3] # columnas 1 al 3 de un data frame
##   ID Color Passed
## 1  1   red   TRUE
## 2  2 white   TRUE
## 3  3   red   TRUE
## 4  4  <NA>  FALSE
mydata[c("ID","Color")] # columnas Id y color
##   ID Color
## 1  1   red
## 2  2 white
## 3  3   red
## 4  4  <NA>
mydata$Color# variable color dentro del data frame
## [1] red   white red   <NA> 
## Levels: red white

Listas

v1 <- c(1,2,5.3,6,-2,4) 
v2 <- c("one","two","three") 
v3 <- c(TRUE,TRUE,TRUE,FALSE,TRUE,FALSE)
lista<-list(v1,v2,v3)
lista
## [[1]]
## [1]  1.0  2.0  5.3  6.0 -2.0  4.0
## 
## [[2]]
## [1] "one"   "two"   "three"
## 
## [[3]]
## [1]  TRUE  TRUE  TRUE FALSE  TRUE FALSE
class(lista)
## [1] "list"
lista[[2]] # Segundo componente de la lista
## [1] "one"   "two"   "three"