Saltar al contenido principal
Documentos
Gestión de datos en RGráficos en RR DocumentaciónInterfaz REstadística en RIntroducción de datos en R

Tipos de datos en R

R dispone de una gran variedad de tipos de datos, como escalares, vectores (numéricos, de caracteres, lógicos), matrices, marcos de datos y listas.

Vectores

a <- c(1,2,5.3,6,-2,4) # numeric vector
b <- c("one","two","three") # character vector
c <- c(TRUE,TRUE,TRUE,FALSE,TRUE,FALSE) #logical vector

Refiérete a los elementos de un vector utilizando subíndices.

a[c(2,4)] # 2nd and 4th elements of vector

Matrices

Todas las columnas de una matriz deben tener el mismo modo (numérico, carácter, etc.) y la misma longitud. El formato general es

mimatriz <- matriz(vector, nrow= r, ncol= c, byrow= FALSE, dimnames=list( char_vector_rownames, char_vector_colnames))

byrow=TRUE indica que la matriz debe rellenarse por filas. byrow=FALSE indica que la matriz debe rellenarse por columnas (por defecto). dimnames proporciona etiquetas opcionales para las columnas y las filas.

# generates 5 x 4 numeric matrix
y<-matrix(1:20, nrow=5,ncol=4)

# another example
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))

Identifica filas, columnas o elementos mediante subíndices.

x[,4] # 4th column of matrix
x[3,] # 3rd row of matrix
x[2:4,1:3] # rows 2,3,4 of columns 1,2,3

Matrices

Las matrices son similares a las matrices, pero pueden tener más de dos dimensiones. Consulta help(array ) para más detalles.

Marcos de datos

Un marco de datos es más general que una matriz, en el sentido de que las distintas columnas pueden tener modos diferentes (numérico, carácter, factor, etc.). Esto es similar a los conjuntos de datos de SAS y SPSS.

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") # variable names

Hay varias formas de identificar los elementos de un marco de datos .

myframe[3:5] # columns 3,4,5 of data frame
myframe[c("ID","Age")] # columns ID and Age from data frame
myframe$X1 # variable x1 in the data frame

Listas

Una colección ordenada de objetos (componentes). Una lista te permite reunir una variedad de objetos (posiblemente no relacionados) bajo un mismo nombre.

# example of a list with 4 components -
# a string, a numeric vector, a matrix, and a scaler
w <- list(name="Fred", mynumbers=a, mymatrix=y, age=5.3)

# example of a list containing two lists
v <- c(list1,list2)

Identifica los elementos de una lista utilizando la convención [[]].

mylist[[2]] # 2nd component of the list
mylist[["mynumbers"]] # component named mynumbers in list

Factores

Indica a R que una variable es nominal convirtiéndola en un factor. El factor almacena los valores nominales como un vector de enteros en el intervalo [1... k] (donde k es el número de valores únicos de la variable nominal), y un vector interno de cadenas de caracteres (los valores originales) asignados a esos enteros.

# variable gender with 20 "male" entries and
# 30 "female" entries
gender <- c(rep("male",20), rep("female", 30))
gender <- factor(gender)
# stores gender as 20 1s and 30 2s and associates
# 1=female, 2=male internally (alphabetically)
# R now treats gender as a nominal variable
summary(gender)

Se utiliza un factor ordenado para representar una variable ordinal.

# variable rating coded as "large", "medium", "small'
rating <- ordered(rating)
# recodes rating to 1,2,3 and associates
# 1=large, 2=medium, 3=small internally
# R now treats rating as ordinal

R tratará los factores como variables nominales y los factores ordenados como variables ordinales en los procedimientos estadísticos y los análisis gráficos. Puedes utilizar opciones en las funciones factor( ) y ordenada( ) para controlar la asignación de enteros a cadenas (anulando el orden alfabético). También puedes utilizar factores para crear etiquetas de valor.

Funciones útiles

length(object) # number of elements or components
str(object)    # structure of an object
class(object)  # class or type of an object
names(object)  # names

c(object,object,...)       # combine objects into a vector
cbind(object, object, ...) # combine objects as columns
rbind(object, object, ...) # combine objects as rows

object     # prints the object

ls()       # list current objects
rm(object) # delete an object

newobject <- edit(object) # edit copy and save as newobject
fix(object)               # edit in place

Practicar

Para explorar los tipos de datos en R, prueba este curso interactivo gratuito de introducción a R

Aprende lo esencial de R

Domina los fundamentos del análisis de datos en R, incluyendo vectores, listas y marcos de datos, y practica R con conjuntos de datos reales.
Empieza a aprender R gratis