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"
R tiene distintos tipos de estructuras de datos
vector list matrix dataframe
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
# 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
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
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"