Documentos de Académico
Documentos de Profesional
Documentos de Cultura
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Taller basico de R.
Isabel Perez Martnez.
Unidad Acad
emica de Ciencias Qumicas
Universidad Aut
onoma de Zacatecas.
Julio 2015
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Que es R?
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Porque usar R?
+ R est
a ganando popularidad
como herramienta
estadstica.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Porque usar R?
+ R est
a ganando popularidad
como herramienta
estadstica.
+ Al ser un programa gratuito,
existe una gran comunidad
que comparte y desarrolla
paquetes estadsticos bajo
este entorno.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Porque usar R?
+ R est
a ganando popularidad
como herramienta
estadstica.
+ Al ser un programa gratuito,
existe una gran comunidad
que comparte y desarrolla
paquetes estadsticos bajo
este entorno.
+ En el
ambito acad
emico, R
permite generar gr
aficas de
alta calidad.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Porque usar R?
+ R est
a ganando popularidad
como herramienta
estadstica.
+ Al ser un programa gratuito,
existe una gran comunidad
que comparte y desarrolla
paquetes estadsticos bajo
este entorno.
+ En el
ambito acad
emico, R
permite generar gr
aficas de
alta calidad.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Porque usar R?
+ R est
a ganando popularidad
como herramienta
estadstica.
+ Al ser un programa gratuito,
existe una gran comunidad
que comparte y desarrolla
paquetes estadsticos bajo
este entorno.
+ En el
ambito acad
emico, R
permite generar gr
aficas de
alta calidad.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Porque usar R?
+ R est
a ganando popularidad
como herramienta
estadstica.
+ Al ser un programa gratuito,
existe una gran comunidad
que comparte y desarrolla
paquetes estadsticos bajo
este entorno.
+ En el
ambito acad
emico, R
permite generar gr
aficas de
alta calidad.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Porque usar R?
+ R est
a ganando popularidad
como herramienta
estadstica.
+ Al ser un programa gratuito,
existe una gran comunidad
que comparte y desarrolla
paquetes estadsticos bajo
este entorno.
+ En el
ambito acad
emico, R
permite generar gr
aficas de
alta calidad.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Porque usar R?
+ R est
a ganando popularidad
como herramienta
estadstica.
+ Al ser un programa gratuito,
existe una gran comunidad
que comparte y desarrolla
paquetes estadsticos bajo
este entorno.
+ En el
ambito acad
emico, R
permite generar gr
aficas de
alta calidad.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Porque usar R?
+ R est
a ganando popularidad
como herramienta
estadstica.
+ Al ser un programa gratuito,
existe una gran comunidad
que comparte y desarrolla
paquetes estadsticos bajo
este entorno.
+ En el
ambito acad
emico, R
permite generar gr
aficas de
alta calidad.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Objetivo.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Instalacion.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Una sesion de R.
+ Para usuarios de windows, damos doble click en el cono.
+ Para usuarios de Mac/Linux, abrimos una terminal, escribimos R, y damos
enter.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Una sesion de R.
+ Para usuarios de windows, damos doble click en el cono.
+ Para usuarios de Mac/Linux, abrimos una terminal, escribimos R, y damos
enter.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Comandos basicos.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Comandos basicos.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Comandos basicos.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Comandos basicos.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Comandos basicos.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Comandos basicos.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Operaciones basicas.
R permite realizar operaciones b
asicas:
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Operaciones basicas.
R permite realizar operaciones b
asicas:
1. Suma.
> 2 + 4
[1] 6
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Operaciones basicas.
R permite realizar operaciones b
asicas:
1. Suma.
> 2 + 4
[1] 6
2. Multiplicaci
on
> 4 * 2
[1] 8
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Operaciones basicas.
R permite realizar operaciones b
asicas:
1. Suma.
> 2 + 4
[1] 6
2. Multiplicaci
on
> 4 * 2
[1] 8
3. Divisi
on.
> 5/7
[1] 0.71429
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Operaciones basicas.
R permite realizar operaciones b
asicas:
1. Suma.
> 2 + 4
[1] 6
2. Multiplicaci
on
> 4 * 2
[1] 8
3. Divisi
on.
> 5/7
[1] 0.71429
4. Potencia.
> 3^4
[1] 81
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Operaciones basicas.
R permite realizar operaciones b
asicas:
1. Suma.
> 2 + 4
[1] 6
2. Multiplicaci
on
> 4 * 2
[1] 8
3. Divisi
on.
> 5/7
[1] 0.71429
4. Potencia.
> 3^4
[1] 81
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Operaciones basicas.
R permite realizar operaciones b
asicas:
1. Suma.
> 2 + 4
[1] 6
2. Multiplicaci
on
> 4 * 2
4. Raices.
> sqrt(4)
[1] 2
[1] 8
3. Divisi
on.
> 5/7
[1] 0.71429
4. Potencia.
> 3^4
[1] 81
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Operaciones basicas.
R permite realizar operaciones b
asicas:
1. Suma.
> 2 + 4
[1] 6
2. Multiplicaci
on
> 4 * 2
[1] 8
3. Divisi
on.
> 5/7
4. Raices.
> sqrt(4)
[1] 2
5. Factorial
> factorial(4)
[1] 24
[1] 0.71429
4. Potencia.
> 3^4
[1] 81
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Operaciones basicas.
R permite realizar operaciones b
asicas:
1. Suma.
> 2 + 4
[1] 6
2. Multiplicaci
on
> 4 * 2
[1] 8
3. Divisi
on.
> 5/7
[1] 0.71429
4. Potencia.
> 3^4
4. Raices.
> sqrt(4)
[1] 2
5. Factorial
> factorial(4)
[1] 24
6. Una combinaci
on...
> ((4^2) * 5 + 8/2.5)/(sqrt(4.5) - 3)
[1] -94.688
[1] 81
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Operaciones basicas.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Operaciones basicas.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Operaciones basicas.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
Al ser R un programa estadstico, es importante saber crear y manejar bases de
datos.
Como crear un vector:
> A <- c(6, 8, 1, 0, -5)
> A
[1] 6 8 1 0 -5
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
Al ser R un programa estadstico, es importante saber crear y manejar bases de
datos.
Como crear un vector:
> A <- c(6, 8, 1, 0, -5)
> A
[1] 6 8 1 0 -5
Que podemos hacer con este vector?
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
Al ser R un programa estadstico, es importante saber crear y manejar bases de
datos.
Como crear un vector:
> A <- c(6, 8, 1, 0, -5)
> A
[1] 6 8 1 0 -5
Que podemos hacer con este vector?
+ Seleccionar un elemento:
> A[2]
[1] 8
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
Al ser R un programa estadstico, es importante saber crear y manejar bases de
datos.
Como crear un vector:
> A <- c(6, 8, 1, 0, -5)
> A
[1] 6 8 1 0 -5
Que podemos hacer con este vector?
+ Seleccionar un elemento:
> A[2]
[1] 8
+ Seleccionar varios
elementos:
> A[2:4]
[1] 8 1 0
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
Al ser R un programa estadstico, es importante saber crear y manejar bases de
datos.
Como crear un vector:
> A <- c(6, 8, 1, 0, -5)
> A
[1] 6 8 1 0 -5
Que podemos hacer con este vector?
+ Seleccionar un elemento:
> A[2]
[1] 8
+ Seleccionar varios
elementos:
> A[2:4]
[1] 8 1 0
+ Multiplicar por un escalar:
> A * 3
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
Como crear una matriz.
X A traves de la uni
on de
columnas / renglones:
> B <- c(0, 5, 2, -3, 7)
> C <- c(1, 11, 3, 9, 2)
> MC <- cbind(A, B, C)
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
Como crear una matriz.
X A traves de la uni
on de
columnas / renglones:
> B <- c(0, 5, 2, -3, 7)
> C <- c(1, 11, 3, 9, 2)
> MC <- cbind(A, B, C)
> MC
A B C
[1,] 6 0 1
[2,] 8 5 11
[3,] 1 2 3
[4,] 0 -3 9
[5,] -5 7 2
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
Como crear una matriz.
> MR <- rbind(A, B, C)
X A traves de la uni
on de
columnas / renglones:
> B <- c(0, 5, 2, -3, 7)
> C <- c(1, 11, 3, 9, 2)
> MC <- cbind(A, B, C)
> MC
A B C
[1,] 6 0 1
[2,] 8 5 11
[3,] 1 2 3
[4,] 0 -3 9
[5,] -5 7 2
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
Como crear una matriz.
> MR <- rbind(A, B, C)
> MR
X A traves de la uni
on de
columnas / renglones:
> B <- c(0, 5, 2, -3, 7)
> C <- c(1, 11, 3, 9, 2)
> MC <- cbind(A, B, C)
> MC
A B C
[1,] 6 0 1
[2,] 8 5 11
[3,] 1 2 3
[4,] 0 -3 9
[5,] -5 7 2
A
B
C
Donde se pueden a
nadir nombres de
Columnas y de renglones:
Lo Hi Me Xs Xxs
6 8 1 0 -5
0 5 2 -3
7
1 11 3 9
2
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
> MR
Am
Az
Na
Lo Hi Me Xs Xxs
6 8 1 0 -5
0 5 2 -3
7
1 11 3 9
2
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
> MR
Am
Az
Na
Lo Hi Me Xs Xxs
6 8 1 0 -5
0 5 2 -3
7
1 11 3 9
2
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
> MR
Am
Az
Na
Lo Hi Me Xs Xxs
6 8 1 0 -5
0 5 2 -3
7
1 11 3 9
2
Hi
5
Me
2
Xs Xxs
-3
7
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
> MR
Am
Az
Na
Lo Hi Me Xs Xxs
6 8 1 0 -5
0 5 2 -3
7
1 11 3 9
2
+ Seleccionar un elemento:
> MR[2, 5]
[1] 7
Hi
5
Me
2
Xs Xxs
-3
7
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
> MR
Am
Az
Na
Lo Hi Me Xs Xxs
6 8 1 0 -5
0 5 2 -3
7
1 11 3 9
2
+ Seleccionar un elemento:
> MR[2, 5]
[1] 7
+ Invertir
> MRCuadrada <- MR[, 1:3]
> solve(MRCuadrada)
Am
Az
Na
Lo 0.225806 0.41935 -0.35484
Hi -0.064516 -0.54839 0.38710
Me 0.161290 1.87097 -0.96774
Am Az Na
-5 7 2
+ Seleccionar un rengl
on:
> MR[2, ]
Lo
0
Hi
5
Me
2
Xs Xxs
-3
7
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
A traves de la funci
on solve(), se pueden resolver sistemas de ecuaciones
lineales de la forma b=Ax, donde b y x son vectores, y A es una matriz:
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
A traves de la funci
on solve(), se pueden resolver sistemas de ecuaciones
lineales de la forma b=Ax, donde b y x son vectores, y A es una matriz:
> A <- matrix(c(-1, 0, 3, 4, 1, 2, -3, 8, 1), 3, 3)
> b <- c(-1, 1, 3)
> solve(A, b)
[1] 0.916667 0.066667 0.116667
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
+ Transpuesta
> t(MR)
Am Az Na
Lo
6 0 1
Hi
8 5 11
Me
1 2 3
Xs
0 -3 9
Xxs -5 7 2
Por otro lado, se puede obtener informaci
on acerca de la matriz:
> dim(MR)
[1] 3 5
Es decir, tiene 3 renglones y 5 columnas
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
Para multiplicar matrices:
> MR * MR
Lo Hi Me Xs Xxs
Am 36 64 1 0 25
Az 0 25 4 9 49
Na 1 121 9 81
4
Que multiplica elemento por elemento, sin embargo, si se desea una
multiplicaci
on matricial:
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
Para multiplicar matrices:
> MR * MR
Lo Hi Me Xs Xxs
Am 36 64 1 0 25
Az 0 25 4 9 49
Na 1 121 9 81
4
Que multiplica elemento por elemento, sin embargo, si se desea una
multiplicaci
on matricial:
> MR %*% MR
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
Para multiplicar matrices:
> MR * MR
Lo Hi Me Xs Xxs
Am 36 64 1 0 25
Az 0 25 4 9 49
Na 1 121 9 81
4
Que multiplica elemento por elemento, sin embargo, si se desea una
multiplicaci
on matricial:
> MR %*% MR
... y les va a decir que no se puede...
> MR[, 1:3] %*% MR
Lo Hi Me Xs Xxs
Am 37 99 25 -15 28
Az 2 47 16
3 39
Na 9 96 32 -6 78
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
X Otra forma de crear una matriz, es a partir del comando matrix:
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
X Otra forma de crear una matriz, es a partir del comando matrix:
> xx <- matrix(c(1, 2, 3, 4, 5, 6, 7, 8), 4, 2)
> xx
[,1] [,2]
[1,]
1
5
[2,]
2
6
[3,]
3
7
[4,]
4
8
Crea una matriz de 4 renglones y 2 columnas, en las cuales acomoda los
valores por columna. Si se desea que se acomoden por rengl
on se usa la
opci
on byrow=T:
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
X Otra forma de crear una matriz, es a partir del comando matrix:
> xx <- matrix(c(1, 2, 3, 4, 5, 6, 7, 8), 4, 2)
> xx
[,1] [,2]
[1,]
1
5
[2,]
2
6
[3,]
3
7
[4,]
4
8
Crea una matriz de 4 renglones y 2 columnas, en las cuales acomoda los
valores por columna. Si se desea que se acomoden por rengl
on se usa la
opci
on byrow=T:
> xx <- matrix(c(1, 2, 3, 4, 5, 6, 7, 8), 4, 2, byrow = T)
> xx
[,1] [,2]
[1,]
1
2
[2,]
3
4
[3,]
5
6
[4,]
7
8
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
Con respecto a multiplicar solo una columna o un rengl
on de una matriz:
> xx
[1,]
[2,]
[3,]
[4,]
[,1] [,2]
1
2
3
4
5
6
7
8
[,1] [,2]
1
4
3
8
5
12
7
16
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
En R existe la funci
on summary, en este caso, aplicada a una matriz:
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
En R existe la funci
on summary, en este caso, aplicada a una matriz:
> summary(MR)
Lo
Min.
:0.00
1st Qu.:0.50
Median :1.00
Mean
:2.33
3rd Qu.:3.50
Max.
:6.00
Hi
Min.
: 5.0
1st Qu.: 6.5
Median : 8.0
Mean
: 8.0
3rd Qu.: 9.5
Max.
:11.0
Me
Min.
:1.0
1st Qu.:1.5
Median :2.0
Mean
:2.0
3rd Qu.:2.5
Max.
:3.0
M.I. P
erez Martnez
Xs
Min.
:-3.0
1st Qu.:-1.5
Median : 0.0
Mean
: 2.0
3rd Qu.: 4.5
Max.
: 9.0
Taller b
asico de R.
Xxs
Min.
:-5.00
1st Qu.:-1.50
Median : 2.00
Mean
: 1.33
3rd Qu.: 4.50
Max.
: 7.00
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
Finalmente, despues de trabajar con las variables de datos, existe una forma de
guardar las variables en un archivo de texto, y es mediante la funcion
write.table()
> write.table(MR, file = "MR.txt", sep = "\t")
donde, en este caso, para separar las entradas se usa el tabulador. ? tarea!
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
> Soc
AEKAthens
NEC_Nijmegen
Dynamo_Kyiv
Hearts
Benfica
Genk
KV_Mechelen
Barcelona
IFK_Gothenburg
Celtic
Real_Madrid
FC_Porto
Rosenborg
Viktoria_Plzen
Iraklis
Norwich
Bayern_Munich
Olympiakos
Chelsea
Juventus
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
Ganados
Min.
:63.0
1st Qu.:68.5
Median :74.0
Mean
:74.0
3rd Qu.:78.5
Max.
:92.0
Puntos
Min.
:2.20
1st Qu.:2.30
Median :2.40
Mean
:2.41
3rd Qu.:2.50
Max.
:2.90
Empates
Min.
: 0.0
1st Qu.:10.0
Median :14.0
Mean
:15.2
3rd Qu.:23.0
Max.
:33.0
M.I. P
erez Martnez
Perdidos
Min.
: 0.0
1st Qu.: 8.0
Median :10.5
Mean
:11.0
3rd Qu.:15.8
Max.
:25.0
Taller b
asico de R.
Goles_Fav
Min.
:1.30
1st Qu.:1.93
Median :2.25
Mean
:2.26
3rd Qu.:2.58
Max.
:3.20
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
0 11 15 13
5 21 17 10 25 33 12 18 24 24 15
0 13 29 23
0 11 15 13
5 21 17 10 25 33 12 18 24 24 15
0 13 29 23
O bien:
> Soc$Empates
[1] 8 5 23 11 12
[26] 10 10 29 24 17
Existe, adem
as, la forma de crear cada columna como una variable
independiente dentro de nuestra sesi
on de R, esto mediante la funci
on attach.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
Supongamos que se desea saber qu
e equipos anotaron m
as goles que el promedio
(2.26):
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
Supongamos que se desea saber qu
e equipos anotaron m
as goles que el promedio
(2.26):
> Soc[Soc$Goles_Fav > 2.26, ]
AEKAthens
NEC_Nijmegen
Dynamo_Kyiv
Hearts
Benfica
Genk
KV_Mechelen
Barcelona
Celtic
Real_Madrid
Rosenborg
Viktoria_Plzen
Bayern_Munich
Olympiakos
Lokeren
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Manejo de datos.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
Una de las primeras aproximaciones que tenemos para conocer una base de
datos, es visualizar las posibles relaciones que existan entre diferentes variables.
Para esto existe la funcion pairs
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
> pairs(Soc)
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
> pairs(Soc)
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
Se puede observar que existe una relaci
on entre diversas variables, pero,
analicemos una de las m
as obvias: Partidos ganados vs puntos.
Empecemos por una gr
afica de dispersi
on
> plot(x = Soc$Ganados, y = Soc$Puntos)
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
Cambiando los smbolos de la gr
afica. La funci
on plot permite cambiar los
smbolos de la gr
afica, mediante la opci
on pch:
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
Cambiando los smbolos de la gr
afica. Supongamos que queremos en lugar
de crculos vacios, cuadrados rellenos, y no solo eso, los queremos de color azul.
> plot(x = Soc$Ganados, y = Soc$Puntos, pch = 15, col = "blue")
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
Pero, falta corregir los nombres de los ejes, y el ttulo principal:
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
Para cambiar el tama
no de los nombres de los ejes, y de los smbolos, existe la
opci
on cex, por s sola, cambia el tama
no de los smbolos, y como cex.lab y
cex.main cambia el tama
no del nombre de los ejes y del ttulo principal,
respectivamente.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
Supongamos que de la gr
afica queremos identificar d
onde se encuentran
posicionados:
+ El equipo con m
as juegos perdidos
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
Supongamos que de la gr
afica queremos identificar d
onde se encuentran
posicionados:
+ El equipo con m
as juegos perdidos
> points(x = Soc[Soc[, 4] == max(Soc[, 4]), 2], y = Soc[Soc[, 4] ==
+
max(Soc[, 4]), 7], pch = 16, cex = 2, col = "red")
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
Supongamos que de la gr
afica queremos identificar d
onde se encuentran
posicionados:
+ El equipo con m
as juegos perdidos
> points(x = Soc[Soc[, 4] == max(Soc[, 4]), 2], y = Soc[Soc[, 4] ==
+
max(Soc[, 4]), 7], pch = 16, cex = 2, col = "red")
+ El equipo con m
as empates
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
Supongamos que de la gr
afica queremos identificar d
onde se encuentran
posicionados:
+ El equipo con m
as juegos perdidos
> points(x = Soc[Soc[, 4] == max(Soc[, 4]), 2], y = Soc[Soc[, 4] ==
+
max(Soc[, 4]), 7], pch = 16, cex = 2, col = "red")
+ El equipo con m
as empates
> points(x = Soc[Soc[, 3] == max(Soc[, 3]), 2], y = Soc[Soc[, 3] ==
+
max(Soc[, 3]), 7], pch = 16, cex = 2, col = "green")
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
Supongamos que de la gr
afica queremos identificar d
onde se encuentran
posicionados:
+ El equipo con m
as juegos perdidos
> points(x = Soc[Soc[, 4] == max(Soc[, 4]), 2], y = Soc[Soc[, 4] ==
+
max(Soc[, 4]), 7], pch = 16, cex = 2, col = "red")
+ El equipo con m
as empates
> points(x = Soc[Soc[, 3] == max(Soc[, 3]), 2], y = Soc[Soc[, 3] ==
+
max(Soc[, 3]), 7], pch = 16, cex = 2, col = "green")
+ El equipo con m
as goles por partido
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
Supongamos que de la gr
afica queremos identificar d
onde se encuentran
posicionados:
+ El equipo con m
as juegos perdidos
> points(x = Soc[Soc[, 4] == max(Soc[, 4]), 2], y = Soc[Soc[, 4] ==
+
max(Soc[, 4]), 7], pch = 16, cex = 2, col = "red")
+ El equipo con m
as empates
> points(x = Soc[Soc[, 3] == max(Soc[, 3]), 2], y = Soc[Soc[, 3] ==
+
max(Soc[, 3]), 7], pch = 16, cex = 2, col = "green")
+ El equipo con m
as goles por partido
> points(x = Soc[Soc[, 5] == max(Soc[, 5]), 2], y = Soc[Soc[, 5] ==
+
max(Soc[, 5]), 7], pch = 16, cex = 2, col = "gray")
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
Finalmente, cabra incluir las leyendas de cada vi
neta.
> legend("topleft", c("Juegos perdidos", "Empates", "Goles a Favor"),
+
pch = 16, col = c("red", "green", "gray"))
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
Finalmente, cabra incluir las leyendas de cada vi
neta.
> legend("topleft", c("Juegos perdidos", "Empates", "Goles a Favor"),
+
pch = 16, col = c("red", "green", "gray"))
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
Ejercicio. C
omo creamos esta gr
afica?
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
Para nuestro siguiente caso de visualizaci
on, vamos a cargar una nueva base de
datos:
> USD_MX <- read.table(file = "USDMX.txt", header = T)
> dim(USD_MX)
[1] 3891
> USD_MX[1:10, ]
1
2
3
4
5
6
7
8
9
10
Fecha
16/06/2015
15/06/2015
12/06/2015
11/06/2015
10/06/2015
09/06/2015
08/06/2015
05/06/2015
04/06/2015
03/06/2015
Compra
15.414
15.431
15.431
15.495
15.435
15.556
15.674
15.722
15.495
15.513
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
De manera que esta nueva base de datos nos indica el cambio del precio del
dolar a lo largo de 15 a
nos. En este caso, una de nuestras variables es el tiempo.
Para poder graficar el tiempo, necesitamos indicar que la variable es temporal:
> USD_MX$Fecha <- as.Date(USD_MX$Fecha, "%d/%m/%Y")
Finalmente, graficamos:
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
Para a
nadir lneas a un gr
afico, se usa el comando abline. Por ejemplo,
supongamos que queremos a
nadir una lnea que indique el promedio del precio
del d
olar.
> mean(USD_MX$Compra)
[1] 11.583
> abline(h = 11.58332)
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
Una opci
on para incluir lneas de divisi
on, es a traves del comando grid():
> grid()
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
Una opci
on para incluir lneas de divisi
on, es a traves del comando grid():
> grid()
Sin embargo, esto se puede hacer de una forma m
as cuidadosa creando una
secuencia de lneas:
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
Una opci
on para incluir lneas de divisi
on, es a traves del comando grid():
> grid()
Sin embargo, esto se puede hacer de una forma m
as cuidadosa creando una
secuencia de lneas:
> abline(v = seq(from = as.Date("2000-1-1"), to = as.Date("2015-1-3"),
+
by = "year"), lty = "dotted", col = "gray")
> abline(v = seq(from = as.Date("2000-1-1"), to = as.Date("2015-1-3"),
+
by = "5 year"), lty = "solid", col = "gray")
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
Finalmente agregamos las lneas divisoras del precio, una lnea cada $1 y otra
cada $0.5.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
> barplot(Super$Comercio)
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
> barplot(Super$Comercio)
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
Una u
ltima opci
on de color de barras, es a trav
es de la opci
on density
> SuperBarPlot <- barplot(Super$Comercio, names.arg = rownames(Super),
+
xlab = "Anos", ylab = "Empresas sobrevivientes", main = "Supervivencia de e
+
density = c(1, 3, 5, 10, 15, 20, 30))
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
Una u
ltima opci
on de color de barras, es a trav
es de la opci
on density
> SuperBarPlot <- barplot(Super$Comercio, names.arg = rownames(Super),
+
xlab = "Anos", ylab = "Empresas sobrevivientes", main = "Supervivencia de e
+
density = c(1, 3, 5, 10, 15, 20, 30))
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
Sin embargo, no solo tenemos datos de un solo sector empresarial, sino de tres, en este
caso, para comparar dentro de un gr
afico de barras la supervivencia de estos tres
sectores comerciales
> barplot(as.matrix(t(Super)), beside = TRUE, xlab = "Anos", ylab = "Empresas sob
+
main = "Supervivencia de empresas comerciales", density = c(1,
+
10, 30))
> legend("topright", c("Manufacturero", "Comercio", "Servicios Privados"),
+
density = c(1, 10, 30), bty = "n")
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Visualizacion.
Sin embargo, no solo tenemos datos de un solo sector empresarial, sino de tres, en este
caso, para comparar dentro de un gr
afico de barras la supervivencia de estos tres
sectores comerciales
> barplot(as.matrix(t(Super)), beside = TRUE, xlab = "Anos", ylab = "Empresas sob
+
main = "Supervivencia de empresas comerciales", density = c(1,
+
10, 30))
> legend("topright", c("Manufacturero", "Comercio", "Servicios Privados"),
+
density = c(1, 10, 30), bty = "n")
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Regresiones lineales
Tomemos como ejemplo el gr
afico de dispersi
on entre la Edad y la cantidad de
Comercios sobrevivientes. Podemos observar que existe una relaci
on.
Tomemos como primer aproximaci
on un ajuste lineal:
> AjLineal <- lm(Super$Comercio ~ Super$Edad)
> summary(AjLineal)
Call:
lm(formula = Super$Comercio ~ Super$Edad)
Residuals:
1
2
3
4
5
20.064 -6.284 -8.676 -8.416 -5.156
6
0.104
7
8.364
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept)
41.936
6.990
6.00
0.0018 **
Super$Edad
-1.652
0.499
-3.31
0.0212 *
--Signif. codes: 0 a
^
A
Y***^
a
A
Z 0.001 ^
a
A
Y**^
a
A
Z 0.01 ^
a
A
Y*^
a
A
Z 0.05 ^
a
A
Y.^
a
A
Z 0.1 a
^
A
Y a
^
A
Z
Residual standard error: 11.7 on 5 degrees of freedom
Multiple R-squared: 0.687, Adjusted R-squared: 0.624
F-statistic:
11 on 1 and
5erezDF,
0.0212
M.I. P
Martnezp-value:
Taller b
asico
de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Regresiones lineales
2
Donde, los coeficientes R 2 y RAdj
eval
uan la bondad del ajuste del modelo a los
datos, es decir, lo que se busca en un buen ajuste, es un coeficiente R 2 cercano
a 1.
Estos coeficientes de calculan a partir del an
alisis de varianza del modelo:
> anova(AjLineal)
Analysis of Variance Table
Response: Super$Comercio
Df Sum Sq Mean Sq F value Pr(>F)
Super$Edad 1
1503
1503
11.0 0.021 *
Residuals
5
685
137
--Signif. codes: 0 ^
a
A
Y***^
a
A
Z 0.001 ^
a
A
Y**^
a
A
Z 0.01 ^
a
A
Y*^
a
A
Z 0.05 a
^
A
Y.^
a
A
Z 0.1
Donde
1503
R2 =
= 0.68693
1503 + 685
y
685/5
RA2 dj = 1
= 0.62431
(1503 + 685)/(5 + 1)
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Regresiones lineales.
Por otro lado, la regresi
on lineal nos permite conocer, de menera gr
afica,
ciertas caractersticas del ajuste:
> layout(matrix(1:4, 2, 2))
> plot(AjLineal)
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Regresiones lineales.
De manera que, el ajuste lineal tiene la siguiente forma:
y = 1.652x + 41.936
Donde, y es el n
umero de comercios sobrevivientes, y x es la edad. Para
visualizar esta funci
on en la gr
afica de dispersi
on, se puede hacer de dos
maneras:
+ A traves de abline:
> abline(41.936, -1.652, col = "red", lty = "dotted")
+ A traves de curve:
> curve(-1.652 * x + 41.936, col = "red", lty = "dotted", add = T)
Sin embargo, primero, se debe hacer la gr
afica de dispersi
on (y como
modificamos el layout del gr
afico, hacemos antes un dev.off(), para reiniciar la
ventana del gr
afico):
> plot(Super$Edad, Super$Comercio, xlab = "Edad", ylab = "Comercios",
+
main = "Comercios sobrevivientes", pch = 16)
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Regresiones lineales.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Regresiones lineales.
Ahora, vamos a determinar las bandas de confianza (que tan bueno fue el
ajuste lineal) y de predicci
on (que tan bueno ser
a el modelo para predecir
futuros valores). Para esto hacemos uso de la funci
on predict()
> AjLineal_Co <- predict(AjLineal, interval = "confidence")
y para el intervalo de predicci
on:
> AjLineal_Pre <- predict(AjLineal, interval = "prediction")
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Regresiones lineales.
Donde:
> AjLineal_Co
1
2
3
4
5
6
7
fit
lwr
41.93568 23.9660
40.28371 23.2872
33.67583 20.0514
25.41598 13.9933
17.15612
4.6076
8.89627 -7.4312
0.63641 -20.7609
upr
59.905
57.280
47.300
36.839
29.705
25.224
22.034
> AjLineal_Pre
1
2
3
4
5
6
7
fit
lwr
upr
41.93568
6.89569 76.976
40.28371
5.73268 74.835
33.67583
0.65283 66.699
25.41598 -6.76120 57.593
17.15612 -15.43771 49.750
8.89627 -25.33062 43.123
0.63641 -36.27886 37.552
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Regresiones lineales.
lines(Super$Edad,
lines(Super$Edad,
lines(Super$Edad,
lines(Super$Edad,
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Regresiones lineales.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Regresiones lineales.
Para guardar el gr
afico desde el comando.
Existe una forma de guardar un gr
afico YA hecho:
> savePlot(filename = paste("NombreArchivo.jpeg", sep = "."), type = ("jpeg"),
+
device = dev.cur())
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Regresiones lineales.
Una vez que conocemos la forma de realizar este tipo de regresiones, se pueden
realizar ajustes no solo lineales, sino, en general, polinomiales:
> AjCua <- lm(Super$Comercio ~ Super$Edad + I(Super$Edad^2))
> summary(AjCua)
Call:
lm(formula = Super$Comercio ~ Super$Edad + I(Super$Edad^2))
Residuals:
1
2
12.572 -11.062
3
-4.966
4
0.581
5
3.213
6
1.930
7
-2.268
Coefficients:
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Regresiones lineales.
Hacemos el plot del ajuste:
> layout(matrix(1:4, 2, 2))
> plot(AjCua)
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Regresiones lineales.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Regresiones lineales.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Regresiones lineales.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Regresiones lineales.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Regresiones lineales.
Adem
as de ajustes polinomiales de cualquier orden, se pueden hacer ajustes
logaritmicos:
> AjLog <- lm(Super[2:7, 1] ~ log10(Super[2:7, 3]))
y no lineales:
> AjNL <- nls(Super$Comercio ~ exp(a + b * Super$Edad), data = Super,
+
start = list(a = 0, b = 0))
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Regresiones lineales.
Finalmente, la regresi
on lineal del tipo:
y = 19.097 log x + 35.408
Generar
a la siguiente gr
afica.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
El summary es m
as reducido que en caso de una regresi
on lineal.
A
nadan la curva (con la funci
on curve) a los datos.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
El summary es m
as reducido que en caso de una regresi
on lineal.
A
nadan la curva (con la funci
on curve) a los datos.
Es un buen ajuste?
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
El summary es m
as reducido que en caso de una regresi
on lineal.
A
nadan la curva (con la funci
on curve) a los datos.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Graficas de funciones.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Graficas de funciones.
Y claro, se pueden combinar con funciones trigonometricas y logartmicas para
crear una gamma de funciones:
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Graficas de funciones.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Graficas de funciones.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Graficas de funciones.
f (x, y ) =
M.I. P
erez Martnez
p
sin x 2 + y 2
p
x2 + y2
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Graficas de funciones.
f (x, y ) =
M.I. P
erez Martnez
p
sin x 2 + y 2
p
x2 + y2
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Graficas de funciones.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Graficas de funciones.
f (x, y ) = cos y + sin x
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Graficas de funciones.
f (x, y ) = cos y + sin x
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Una roseta, es una figura, en la cual se unen todos los puntos (cualesquiera que
estos sean) equidistantes sobre una circunferencia. Es decir:
M.I. P
erez Martnez
Taller b
asico de R.
Introducci
on.
Manejo de datos.
Visualizaci
on.
Regresiones lineales.
Gr
afica de funciones.
Programaci
on.
Una roseta, es una figura, en la cual se unen todos los puntos (cualesquiera que
estos sean) equidistantes sobre una circunferencia. Es decir:
M.I. P
erez Martnez
Taller b
asico de R.