Estudio y Depuración de Datos
  • Declaración de autoría
  • Tema 1: Análisis Exploratorio de Datos
    • Tipos de variables
      • Ejercicio: Tipos de Datos
        • Resultados
    • Codificación y Transformación
      • Ejercicio: Codificación y Transformación
        • Resultados
    • Descriptivos, Gráficos y Tablas
      • Ejercicio: Gráficos y Tablas
        • Resultados
    • Ejemplo de un análisis descriptivo básico para detectar errores e incongruencias
    • PRACTICA 1
      • Resultados
  • Tema 2: Control de integridad de los datos
    • Introducción a los datos atípicos
      • Ejercicios
        • Resultados
    • Detección y tratamiento de datos atípicos (univariante)
    • Detección y tratamiento de datos atípicos (bivariante)
      • Ejercicio I
        • Resultados
    • Detección de datos atípicos y su tratamiento (automatización)
      • Ejercicio I - automatización
        • Resultados
    • Detección y tratamiento de datos atípicos (multivariante)
      • Ejercicio II
        • Resultados
    • Detección y tratamiento de duplicados
      • Ejercicio
        • Reusltados
    • Ejemplo de detección y tratamiento de atípicos y duplicados
      • Resultados
    • PRACTICA 2
      • Resultados
  • Tema 3: Valores Perdidos
    • Detección de datos perdidos
      • Ejercicios
    • Tratamiento de datos perdidos (Imputación Simple)
      • Ejercicio - Epidemia Ébola
        • Resultados
      • Ejercicio - Tipos de datos missing
        • Resultados
    • Tratamiento de datos perdidos (Imputación Múltiple con MICE)
      • Ejercicio - MICE
        • Resultados
    • PRACTICA 3
      • Resultados
    • PRÁCTICA GRUPAL
  • Bibliografía
    • 📚Bibliografía
Powered by GitBook
On this page
  • Crear un proyecto en R
  • Tipos de variables
  • Tipos de datos R
  • Vectores
  • Factores
  • Variables lógicas
  • Fechas
  • Lectura de datos en R
  1. Tema 1: Análisis Exploratorio de Datos

Tipos de variables

PreviousDeclaración de autoríaNextEjercicio: Tipos de Datos

Last updated 4 months ago

Crear un proyecto en R

Antes de nada vamos a crear un proyecto en R donde iremos guardando todos los scripts y todas las bases de datos. Para ello ve a File > New Project e introduce el nombre del proyecto "Depuración" y la URL donde lo quieres guardar:

A partir de ahora siempre en el inicio de clase abrirás ese proyecto y guardarás todos los ficheros en esa carpeta.

Puedes crear una carpeta por cada tema para tener todo más ordenado. Por ejemplo Tema_1

Tipos de variables

Las variables que pueden aparecer en un conjunto de datos pueden ser de varios tipos:

  • V. Cuantitativas: Son aquellas que representan cantidades numéricas

    • Continuas: peso, altura, salario

    • Discretas: edad, número de hijos

  • V. Cualitativas: Son aquellas que toman un número finito de valores o categorías

    • Ordinales: se pueden ordenar y asignar un valor: nivel de eduación, niveles de dolor, grado de satisfacción

    • Nominales: No se puede establecer ningún orden: sexo, raza, país de nacimiento

  • V. Fecha: se consideran variables cuantitativas, pero cada software suele tener un tratamiento específico

Ejercicio

Escribe un ejemplo de cada tipo de variable

Tipos de datos R

En R los datos se guardan en objetos . Los objetos tienen nombre y contenido, pero también atributos que especifican el tipo de datos representados.

Objeto
Tipos
Varios tipos en el mismo

Vector

Numérico, carácter o lógico

No

Factor

Numérico o carácter

No

Matriz

Numérico, carácter o lógico

No

Data Frame

Numérico, carácter o lógico

Si

Lista

Numérico, carácter, lógico, función o expresión

Si

Para saber los tipos de datos en R tenemos la función class()

Vectores

En R hay dos clases fundamentales de datos: numéricos y caracteres:

x=1

class(x)
## [1] "numeric" 

y="a"
class(y)
## [1] "character

Podemos agrupar varios elementos en una misma clase usando vectores

## Vectores de clase numérico
edad = c(22, 34, 29, 25, 30, 33, 31, 27, 25, 25)
edad
## [1] 22 34 29 25 30 33 31 27 25 25

## Vectores de clase caracter
letras=c("a","b","c","d","e")
letras
## [1] "a" "b" "c" "d" "e"

Para saber su longitud usamos la función length()

length(edad)
# [1] 10

length(letras)
# [1] 5

Tenemos distintas formas de acceso a las posiciones del vector:

#Para acceder a una posición k del vector: 
edad[3]
# [1] 29

#Para acceder a varios valores dentro de un rango:
edad[2:5]
# [1] 34 29 25 30

#Para acceder a varios valores alternos:
edad[c(1,3,7)]
# [1] 22 29 31

Para acceder de forma condicionada a un vector usaremos la función which()

which(edad>25)
# [1] 2 3 5 6 7 8

#Podemos asignar estas posiciones a una nueva variable:
mayores25<-which(edad>25) 
edad[mayores25]
# [1] 34 29 30 33 31 27

# y de forma simplificada:
edad[edad>25]
# [1] 34 29 30 33 31 27

Podríamos hacer también una selección en función de valores de otro vector:

sexo <- c("M","H","H","M","M","H","M","M","H","H")
edad[sexo=="M"]
## [1] 22 25 30 31 27

Factores

Un factor es una variable categórica con un número finito de valores o niveles. En R los factores se utilizan habitualmente para realizar clasificaciones de los datos, estableciendo su pertenencia a los grupos o categorías determinados por los niveles del factor.

Los factores juegan un papel muy importante en la elaboración de modelos estadísticos. En particular, los modelos lineales pueden dar resultados muy diferentes según que una variable se declare como numérica o como factor.

Los niveles de un factor puede estar codificados como valores numéricos o como caracteres. Independientemente de que el factor sea numérico o carácter, sus valores son siempre almacenados internamente por R como números enteros, con lo que se consigue economizar memoria.

Ejemplo:

sexo <- factor(sexo,levels=c("H","M"),labels=c("Hombre","Mujer"))
sexo
# [1] Mujer  Hombre Hombre Mujer  Mujer  Hombre Mujer  Mujer   Hombre Hombre
# Levels: Hombre Mujer

Y podemos construir su tabla de frecuencias con la función table()

table(sexo)
# sexo
# Hombre  Mujer 
#      5      5

Variables lógicas

Las variables lógicas constituyen un tipo particular de factor en R, que se caracteriza por tomar sólo dos valores: TRUE o FALSE codificados, respectivamente, como 1 y 0. Es posible construir condiciones lógicas utilizando los operadores ‘y’ (&), ‘o’ (|) y ‘no’ (!). La comparación de valores se lleva a cabo mediante == (‘es igual a’) y != (‘es distinto de’).

ATENCIÓN: No debe confundirse el operador de asignación = con el de comparación ==.

Ejemplo:

Podemos realizar la tabla de frecuencias anterior pero teniendo sólo en cuenta aquellos individuos que estén solteros:

soltero<-c(TRUE,TRUE,TRUE,FALSE,FALSE,TRUE,TRUE,FALSE,FALSE,TRUE)
soltero
#  [1]  TRUE  TRUE  TRUE FALSE FALSE  TRUE  TRUE FALSE FALSE  TRUE
table(sexo[soltero==TRUE])

Podemos hacer lo mismo con la función which() para acceder a las posiciones cuando es TRUE:

which(soltero)
# [1]  1  2  3  6  7 10
table(sexo[which(soltero)])
# Hombre  Mujer 
#      4      2

Fechas

R almacena las fechas en la clase Date. Esta clase almacena los valores como el número de días transcurridos desde el 1 de enero de 1970; para las fechas anteriores el número de días se cuenta en sentido negativo.

Para crear una fecha en R el modo más sencillo es utilizar la función as.Date(). Esta función recibe como argumento un dato de fecha en modo carácter y la convierte a la clase Date. En esta clase, el estándar de fecha que se utiliza (en el que se leen y muestran las fechas si no se indica otra cosa) es “año-mes-día” (yyyy-mm-dd).

Ejemplo

navidad=as.Date("2013-12-25")
navidad
# [1] "2013-12-25"

class(navidad)
# [1] "Date"

Si introducimos la fecha en otro formato (por ejemplo “dia/mes/año”), hemos de indicarlo al usar as.Date para que R pueda interpretar la fecha correctamente:

navidad=as.Date("25/12/2013",format="%d/%m/%Y")
navidad
# [1] "2013-12-25"

Esta conversión opera también sobre vectores (siempre que estén codificados del mismo modo):

dias=c("1/10/2005","2/2/2006","3/4/2006","8/11/2014")
dias
# [1] "1/10/2005" "2/2/2006"  "3/4/2006"  "8/11/2014"

dias=as.Date(dias,format="%d/%m/%Y")
# [1] "2005-10-01" "2006-02-02" "2006-04-03" "2014-11-08"

Formatos de fecha

Para formatear una fecha se pueden utilizar los siguientes símbolos:

Símbolo
Significado

%d

día (numérico, de 0 a 31)

%a

día de la semana abreviado a tres letras

%A

día de la semana (nombre completo)

%m

mes (numérico de 0 a 12)

%b

mes (nombre abreviado a tres letras)

%B

mes (nombre completo)

%y

año (con dos dígitos)

%Y

año (con cuatro dígitos)

La función Sys.Date() lee la fecha actual del reloj de nuestro ordenador y la codifica como un objeto de la clase Date:

Sys.Date()

Lectura de datos en R

El formato más cómodo y habitual de lectura en R es el CSV en el que normalmente la primera fila contiene los nombres de las columnas que serán las variables y las siguientes filas contendrán los datos correspondientes. Las columnas están separadas por comas.

Para la lectura de CSV en R usaremos la función read.csv()y con la función str() podemos ver las variables y el tipo de dato con el que se han importado.

datos<-read.csv("Tema_1/TiposDatos.csv")
str(datos)

Ahora es tu turno: Realiza los siguientes ejercicios:

Ejercicio: Tipos de Datos
278B
TiposDatos.csv
Page cover image