Introducción a R
Programa Estadístico de “Código Abierto”
versión 2.9.1
Prof. Orville M. Disdier
1
Prof. Disdier Ver. 020909
Objetivos
1. Exponer las posibles ventajas y desventajas del
programa R.
2. Definir y demostrar algunos comandos y
operaciones básicas.
3. Practicar y aplicar lo aprendido.
2
Prof. Disdier
Diseño del Taller
Parte 1
Introducción
Parte 2
Definiciones, comandos y operaciones
Parte 3
Práctica y aplicación
3
Prof. Disdier
Parte I
Introducción
4
Prof. Disdier
¿Qué es R?
• R es un programa estadístico creado por Ross
Ihaka y Robert Gentleman de la Universidad de
Aukland, Nueva Zelandia
• Para el manejo de datos, gráficas y cálculos.
• Desde 1995 se distribuye gratis a través de
Internet y desde el 1997 un “core group” lo
maneja
• Asistido de una gran cantidad de
colaboradores internacionales.
5
¿Qué es R? (continuación)
• Está basado en los programas S y S‐Plus, es
gratis y completamente programable, lo que
brinda flexibilidad en el análisis.
• Un gran número de paquetes suplementan a R,
también accesibles a través de Internet, lo que
convierte a R en un sistema integrado de
herramientas para el análisis de datos.
6
Gráficas en R
7
Gráficas en R
8
Instalación
• Se accede a través del “Comprehensive R
Archive Network” (CRAN) en la página:
[Link]
• Disponible en tres plataformas: Windows,
MacOS X y Linux.
• La versión actual para Windows es R 2.9.1.
Es actualizada constantemente
9
10
Prof. Disdier
11
Prof. Disdier
12
Prof. Disdier
[Link]
MD5sums:
[Link]
13
Prof. Disdier
14
Prof. Disdier
[Link]
15
Prof. Disdier
Parte II
Definiciones, comandos y operaciones
16
Prof. Disdier
Ayuda (Help)
• Utilizar el “Help” en el menu del programa.
• Utilizar el comando:
> [Link]()
>[Link](search string)
> help(function), ej. >help(plot)
>?plot
17
Prof. Disdier
Paquetes de R
• Programas que se le pueden añadir a R para
que realice funciones especializadas.
• Al instalar R se instalan algunos paquetes
básicos
[Link]
18
Prof. Disdier
Paquetes de R
• Paquetes activos
>Search()
• Paquetes disponibles para activar
>Library()
19
Prof. Disdier
Bajar nuevos Paquetes de R
20
Prof. Disdier
Activar los paquetes R
21
Prof. Disdier
Operaciones matemáticas básicas
Operación Símbolo en R
Suma +
Resta -
Multiplicación *
División /
Potencia ^
22
Prof. Disdier
Orden de evaluación matemática
1 2 3
^ Potencias */ •Multiplicaciones
• divisiones +- • Sumas
• Restas
10+5^3*2/10
10+5^3*2/10 = 10+125 *2/10
10+125*2/10 = 10+25
10+25 =
23
Prof. Disdier
Funciones matemáticas
Raíz cuadrada sqrt()
Exponenciación, e^x, e=2.7182 exp()
Logaritmo natural log()
Logaritmo base 10 log10()
Seno sin()
Coseno cos()
Número aleatorios runif(n,min,max)
round(runif(n,min,max),0)
Valor absoluto abs()
24
Prof. Disdier
Variables
• Se puede crear o asignar utilizando “=“ ó “<‐”.
• Mantiene el valor hasta que sea borrada o se le
asigne otro valor.
• Sus nombres no pueden empezar con un número.
• R es “case sensitive”.
• Las variables pueden ser numéricas o de
caracteres.
• Evitar los siguientes nombres: c, q, t, C, D, F, I, T.
25
Prof. Disdier
Objetos
• Variables, valores
• Ver los objetos disponibles:
>ls()
>objects()
• Ver el valor del objeto
>nombre del objeto
• Borrar o eliminar objetos
>rm(nombre del objeto)
26
Prof. Disdier
Vectores
• Colección de objetos (números, caracteres, otros)
• Concatenación de objetos nuevos o existentes,.
• Comando:
>vector1= c(1,2,3,4,5)
• Vector secuencial
>seq(min,max,increment)
>(desde):(hasta)
27
Prof. Disdier
Vectores (continuación)
• Extracción de valores de un vector
>x=c(1,10,3,20,14)
> vector[posición del valor a extraer]
>x[5]
[1] 14
> x[c(2,4)] # Extrae elementos en la posición 2 y
4 solamente
• [1] 10 20
> x[-c(2,4)] # Remueve los elementos 2 y 4
[1] 10 12 13 14 15 16 17 18 19 20 28
Prof. Disdier
Funciones para vectores
Función Descripción
length(v) Largo del vector v
min(v) Mínimo
max(v) Máximo
sum(v) Suma de todos los elementos de v
prod(v) Producto de los elementos de v
mean(v) Media
median(v) Mediana
var(v) Varianza
sd(v) Desviación estándar
cor(v,w) Correlación entre dos vectores
sort(v) Organiza los elementos en forma ascendente
Quantile(v) Cuartilas empíricas 29
Prof. Disdier
Operaciones lógicas
Operación Símbolo en R
Menor a <
Menor o igual a <=
Mayor a >
Mayor o igual a >=
Exactamente igual a ==
Diferente a !=
30
Prof. Disdier
Observaciones incompletas
(missing values)
• Los missing se establecen con las letras NA.
• Si una variable incluye un NA entre sus valores, los
cálculos no se podrán realizar y el resultado será:
NA.
• Para que el NA no se considere en los cálculos hay
que escribir la siguiente instrucción:
>[Link]=TRUE
31
Prof. Disdier
Observaciones incompletas:
Ejemplo
• Asignar valores a una variable.
>pagos=c(200,300,150,NA)
• Calcular la media
> mean(pagos)
[1] NA
• Calcular la media sin considerar el missing
> mean(pagos, [Link]=TRUE)
[1] 216.6667
32
Prof. Disdier
Lectura de datos externos
• Directorio de trabajo (“working directory”)
> getwd()
Indica cual es el directorio de trabajo
> setwd("Z:/Proyecto 2 (Academias)/Taller R")
Establece el nuevo directorio de trabajo
33
Prof. Disdier
Lectura de datos externos (continuación)
• Importar de Excel
• Convertir a CSV
1 • “Save as CSV comma delimited”
• Asignar nombre y leer
2 • >Datos.Tabla1=[Link](“[Link]",header=T)
• Ver y corroborar
3 • >Datos.Tabla1
• Activar los datos (“Attach”)
4 • >attach(Datos.Tabla1)
34
Prof. Disdier
Editor de datos
• Activar la pantalla de edición
>fix(objeto o variable)
• Editar el contenido de una variable
>fix(pagos)
• Remover (objetos o variables)
>rm(pagos)
35
Prof. Disdier
Gráficas
• Plot (x versus y)
>plot (x, y)
>ejex=c(1,2,3,4,5,6,7,8,9,10)
> ejey=c(1,2,3,4,5,6,7,8,9,10)
> plot(ejex,ejey)
36
Prof. Disdier
Gráficas (continuación)
• hist () #histograma
>f=c(10,30,30,40,50,60,80,100)
>hist (f)
37
Prof. Disdier
Gráficas de Barra (Plot)
• barplot(x)
>impuestos=c(196,178,116) #en miles de millones
>names(impuestos)=c(“ventas”,”inmuebles”,”renta”)
>barplot(impuestos)
38
Prof. Disdier
Gráficas de Barra (Dotchart)
• dotchart(x), xlab=“label ejex”, main=“titulo”
>dotchart(impuestos, xlab=“Impuestos en millones”,
main=“Impuestos según procedencia”, pch=“@”)
39
Prof. Disdier
Guardar (save) las gráficas
40
Prof. Disdier
Resguardo (“Save”)
• Guardar (“save”) los datos y variables
[Link]
• Guardar el historial (comandos y texto)
41
Prof. Disdier
Parte III
Práctica y Aplicación
42
Prof. Disdier
TABLA 1
INFORME DE PUNTUACIONES
Escuela: Del Monte Arriba
Puntuaciones
ID NOMBRE SEXO EDAD
Examen #1 Examen #2
1 José Hernández M 8 80.5 90.2
2 Pietra Colón F 9 70.6 76.9
3 Augusto Candela M 10 54.9 50.1
4 Jorge Castro M 9 100 100
5 Alexis Rodríguez M 8 98.3 92.4
6 Julio Valle M 8 32.1 45.2
7 María Valle F 10 89.6 85.4
8 Pedro Caraballo M 9 99.5 89.6
9 Ivelise Dessert F 8 69.7 72.5
10 Félix Mirabal M 9 84.5 88.7
43
Prof. Disdier
Ejercico #1
1. Sumar Edad
2. Promedio Puntuaciones Examen #2
Examen #2
EDAD
ID NOMBRE SEXO EDAD
Examen #1
Puntuaciones
Examen #2 90.2
1 José Hernández M 8 80.5 90.2
2 Pietra Colón F 9 70.6 76.9
3 Augusto Candela M 10 54.9 50.1
4
5
Jorge Castro
Alexis Rodríguez
M
M
9
8
100
98.3
100
92.4
76.9
8
6 Julio Valle M 8 32.1 45.2
7 María Valle F 10 89.6 85.4
8 Pedro Caraballo M 9 99.5 89.6
9 Ivelise Dessert F 8 69.7 72.5
50.1
10 Félix Mirabal M 9 84.5 88.7
9
100
10
92.4
9
8 45.2
8 85.4
10 89.6
9 72.5
8
88.7
44
9
Prof. Disdier
Resultados-Ejercico #1
1. Sumar Edad = 88
> edad=8+9+10+9+8+8+10+9+8+9
> edad
[1] 88
> edad2=c(8,9,10,9,8,8,10,9,8,9)
> sum(edad2)
[1] 88
45
Prof. Disdier
Resultados-Ejercico #1
2. Promedio Puntuaciones Examen #2 = 79.1
> examen2a=90.2+76.9+50.1+100+92.4+45.2+85.4+89.6+72.5+88.7
> examen2a
[1] 791
> examen2a/10
[1] 79.1
> examen2b=c(90.2,76.9,50.1,100,92.4,45.2,85.4,89.6,72.5,88.7)
> examen2b
[1] 90.2 76.9 50.1 100.0 92.4 45.2 85.4 89.6 72.5 88.7
> mean(examen2b)
[1] 79.1
46
Prof. Disdier
TABLA 2
ESTATURA Y PESO DE LOS ESTUDIANTES
Escuela: Del Monte Arriba
ID Estatura (pulg.) Peso (lbs.)
1 66 140
2 67 180
3 58 130
4 73 200
5 69 175
6 67 180
7 71 179
47
Prof. Disdier
Ejercico #2
1. Media, Mediana, Var, Min, y Max Estatura
2. Media, Mediana, Var, Min, y Max Peso
48
Prof. Disdier
Resultados-Ejercico #2
1. Media, Mediana, Var, MIN, y Max Estatura:
Media = 67.3
Mediana = 67
Var = 22.9
Min = 58
Max = 73
> estatura=c(66,67,58,73,69,67,71)
> mean(estatura)
[1] 67.28571
> median(estatura)
[1] 67
> var(estatura)
[1] 22.90476
> min(estatura)
[1] 58
> max(estatura)
49
[1] 73
Prof. Disdier
Resultados-Ejercico #2
2. Media, Mediana, Var, MIN, y Max Peso:
Media = 169.9
Mediana = 179
Var = 616.8
Min = 130
Max = 200
> peso=c(140,180,130,200,175,180,179)
> mean(peso)
[1] 169.1429
> median(peso)
[1] 179
> var(peso)
[1] 616.8095
> min(peso)
[1] 130
> max(peso)
50
[1]
Prof.200
Disdier
TABLA 3
TABLA DE DEMANDA
Unidades vendidas de la novela “La Cosquilla” según su precio
Precio de venta ($) Unidades vendidas
10 5
9 9
8 13
7 17
6 21
5 25
51
Prof. Disdier
Ejercico #3
1. Correlación Precio versus Unidades
2. Plot Precio versus Unidades (curva de demanda)
52
Prof. Disdier
Resultados-Ejercico #3
1. Correlación Precio versus Unidades:
r = -1
> precio=c(10,9,8,7,6,5)
> unidades=c(5,9,13,17,21,25)
> cor(precio,unidades)
[1] -1
53
Prof. Disdier
Resultados-Ejercico #3
2. PLOT Precio versus Unidades:
> plot(unidades,precio)
54
Prof. Disdier
TABLA 4
TABLA DE EXPORTACION
Exportación de Frutas y Vegetales
Frutas y vegetales Unidades exportadas (quintales)
Yautía 100
Guineos 680
Platanos maduros 789
Platanos verdes 150
55
Prof. Disdier
Ejercico #4
1. Generar una gráfica de barra Tabla 4
56
Prof. Disdier
Resultados-Ejercico #4
1. Generar una gráfica de barra Tabla 4:
> frutyveg=c(100,680,789,150)
> names(frutyveg)=c("Yautia","Guineos","Platanos maduros","Platanos verdes")
> barplot(frutyveg)
57
Prof. Disdier