Escolar Documentos
Profissional Documentos
Cultura Documentos
2
I
NDICE
NDICE ................................................................................... II
AGRADECIMIENTO............................................................... IV
PREFACIO ............................................................................. VI
1. CAPTULO 1: PRELIMINARES ESTADSTICOS ............. 1
1.1. BREVE HISTORIA DE LA ESTADSTICA................................................. 2
1.2. DEFINICIN Y CLASIFICACIN DE LA ESTADSTICA .............................. 3
1.3. CONCEPTOS PRELIMINARES .............................................................. 4
2. CAPTULO 2: FUNDAMENTOS DE R ............................. 8
2.1. QU ES R?..................................................................................... 8
2.2. R CONSOLE ..................................................................................... 9
2.3. RSTUDIO ....................................................................................... 11
2.4. LOS COMANDOS EN R......................................................................14
2.4.1. Argumento de los Comandos: ............................................................... 16
2.4.2. Visualizacin de los valores de los comandos ...................................... 22
2.5. LOS PAQUETES EN R ...................................................................... 24
2.6. INGRESANDO INFORMACIN EN R ................................................... 28
2.6.1. Variables .............................................................................................. 28
2.6.2. Vectores ................................................................................................ 29
2.6.3. Matrices................................................................................................ 32
2.6.4. Operaciones Bsicas con Matrices y/o vectores.................................... 37
2.6.5. Ingresando una matriz de datos .......................................................... 39
2.6.6. Importando una matriz de datos desde otro tipo de archivo ............... 43
2.6.7. Matrices de Datos en R ......................................................................... 49
3. CAPTULO 3: FUNDAMENTOS DE MATLAB ................ 51
3.1. QU ES MATLAB?........................................................................ 51
3.2. EL ENTORNO DE MATLAB ............................................................. 52
3.3. LOS COMANDOS EN MATLAB......................................................... 54
3.4. INGRESANDO INFORMACIN EN MATLAB ....................................... 59
3.4.1. Variables ...............................................................................................59
3.4.2. Vectores ................................................................................................ 60
II
3.4.3. Operaciones Bsicas con Vectores........................................................ 63
3.4.4. Matrices.................................................................................................65
3.4.5. Operaciones con matrices .....................................................................67
3.4.6. Importando una matriz de datos desde otro tipo de archivo ................67
4. CAPTULO 4: ANLISIS DE FRECUENCIAS Y
REPRESENTACIN GRFICA DE DATOS .............................. 75
4.1. VARIABLES Y DATOS....................................................................... 75
4.1.1. Clasificacin de los datos....................................................................... 75
4.2. ANLISIS UNIVARIADO DE FRECUENCIAS ......................................... 79
4.2.1. Tablas de Frecuencias .......................................................................... 80
4.2.2. Anlisis de frecuencias para datos simples o sin agrupar .................... 81
4.2.3. Grficas para representar frecuencias de datos simples: .................... 83
4.2.4. Anlisis de Frecuencias para datos agrupados .................................... 94
4.2.5. Grficas para representar frecuencias de datos agrupados ............... 101
4.3. ANLISIS BIVARIADO DE FRECUENCIAS .......................................... 109
4.3.1. Tablas de Contingencia ....................................................................... 109
5. CAPTULO 5: DESCRIPCIN NUMRICA DE DATOS 114
5.1. DESCRIPCIN NUMRICA DE DATOS UNIVARIADOS.......................... 114
5.1.1. Medidas de Tendencia Central ............................................................ 114
5.1.2. Medidas de Dispersin ........................................................................ 123
5.1.3. Medidas de Posicin ............................................................................ 133
5.2. DESCRIPCIN NUMRICA DE DATOS BIVARIADOS ............................142
5.2.1. Covarianza .......................................................................................... 143
5.2.2. Correlacin .......................................................................................... 146
III
AGRADECIMIENTO
<<Porque todo, absolutamente todo en el cielo y en la tierra, visible e
invisible todo comenz con l y para los propsitos de l>>
Colosenses 1:16
IV
V
PREFACIO
EL PROPSITO DE ESTE LIBRO
El presente libro se convierte en un texto de ayuda para realizar un curso a nivel
superior de Estadstica Descriptiva, adems sirve como un referente prctico para
que el lector aprenda a manejar los software R y MATLAB, y de sus primeros pasos
utilizando estos paquetes, lo cual se constituye en una base para que luego pueda
realizar clculos y grficas en ramas ms especficas o avanzadas dentro del
anlisis estadstico. No es la intencin profundizar en aspectos estadsticos
tericos, ni tampoco en aspectos de programacin avanzada mediante los software
descritos, sino ms bien enfocarnos en definir, calcular (mediante el software) e
interpretar medidas y grficos estadsticos que nos ayudan a realizar una
descripcin de un conjunto de datos.
POR QU R Y MATLAB?
A nivel de Ingeniera es de mucha utilidad el uso de estos paquetes en lo que al
anlisis de datos se refiere, ya que a diferencia de la gran mayora de paquetes
estadsticos que son muy limitados y solo permiten al usuario ingresar
informacin de entrada bajo ciertos lineamientos y de la misma forma hacer
clculos especficos y restringidos, estos paquetes permiten que sea el usuario
quien utilice o de ser necesario incluso cree las funciones que le permitirn realizar
clculos y grficas, pudiendo ampliar la visin de su uso tanto como el usuario
tenga la necesidad y/o capacidad de hacerlo. Los clculos que la mayora de
paquetes realizan son limitados, siguen un formato nico y no permiten que estos
clculos puedan unirse mediante algoritmos con otros, por lo que a nivel avanzado
se hace imposible crear modelos para necesidades especficas. R y MATLAB se
convierte en la solucin para este problema, permitiendo que el usuario sea quien
construya de acuerdo a sus necesidades los cdigos que le servirn para realizar
clculos y grficos de manera secuencial sin ninguna restriccin sino la que el
mismo realice
VI
VII
1. CAPTULO 1:
PRELIMINARES ESTADSTICOS
La estadstica es una ciencia, nace de la necesidad que tiene el hombre de
comprender el mundo que nos rodea, su diario vivir, los hechos, sucesos o
procesos que marcan la historia y el desarrollo de la humanidad. La estadstica
est plenamente involucrada con el proceso de planificacin y toma de decisiones
en todos los mbitos del quehacer cotidiano, sin ella no sabramos de dnde
venimos, ni hacia dnde vamos. Cuando una persona, familia, empresa, estado o
cualquier otro tipo de organizacin no posee un registro acerca de las cosas que ha
hecho, est haciendo y de las que pretende hacer, solo ser como un ciego que no
mira hacia dnde se encamina su quehacer diario, carecer de un objetivo
definido, caer en activismo y no ser capaz de ser un aporte en el rea que se est
desarrollando.
Solo imaginemos a un atleta profesional en cuyo entrenamiento no se registre
constantemente sus marcas personales, su tiempo de dedicacin, la cantidad de
nutrientes que debe consumir en su dieta, etc Si no se lo hace sin duda su
entrenador no tendra idea del atleta que est formando, no sabra cules son los
aspectos fsicos o biolgicos que debe mejorar en l, ni siquiera tendra idea si
antes de la competencia tiene o no la posibilidad de ganar o perder frente a sus
adversarios, ya que no tendra ninguna medida que le permita evaluar y mucho
menos comparar el rendimiento de dicho atleta, su entrenamiento estara vaco y
caminara con gran probabilidad hacia un fracaso en su carrera como deportista.
O tal vez imaginemos a una nacin sin estadsticas, un pas donde no se registren
los hechos que sucede en la vida de una poblacin. Qu decisiones o polticas
pblicas acerca de educacin sexual y planificacin familiar para los habitantes se
podran establecer sino sabemos cul es la tasa de natalidad, o el ndice de
embarazo adolescente. Cul debera ser el presupuesto adecuado para salud sino
se conoce indicadores estadsticos de morbilidad, o tasas de mortalidad en la
poblacin. Cmo asignar un presupuesto o establecer polticas pblicas para la
1
educacin sino conocemos indicadores estadsticos que nos muestren cul es la
tasa de analfabetismo, abandono escolar, demanda educativa, etc Cmo podra
una nacin presupuestar en un futuro la justa distribucin de su riqueza si no
cuenta con estadsticas que le indiquen cul ser el tamao futuro de su poblacin.
O tan solo imaginemos nuestra propia vida, qu pasara si en el quehacer diario
no tendramos una nocin o un registro del tiempo, recursos, o dinero que
constantemente estamos utilizando ni de las cosas que estamos produciendo ya
sea en nuestro trabajo, hogar o dems lugares que nos desempeamos. No
tendramos ni sentido ni nocin de las cosas que hacemos o dejamos de hacer.
Sin duda se nos hace difcil encontrar alguna actividad dentro de cualquier
entorno en la cual no est presente algn tipo de informacin o registro. Cuando
esta informacin es debidamente procesada se convierte en estadsticas tiles para
el desarrollo y mejora continua.
Es por eso que antes de empezar con la teora estadstica propiamente dicha,
resulta interesante conocer brevemente algunos preliminares que nos ayudarn
de cierta manera a entender mejor a la razn de ser de esta ciencia.
2
La cultura egipcia (3050 A.C.), donde continuamente, incluso antes
de la construccin de las pirmides se analizaban datos acerca de la
poblacin, tal fue as que cuando los judos fueron esclavos en Egipto, el
faran supo que el nmero de egipcios era inferior al nmero de judos, y
orden mand a matar a todos los primognitos varones recin nacidos de
este pueblo.
La cultura Babilnica (3000 AC), donde se han encontrado restos de
tablas de arcilla, que se evidenci servan para recopilar datos de la
produccin y el comercio que se realizaba
La cultura China, donde en los aos 2200 A.C. el emperador Tao orden
se censara todo el pueblo.
La cultura Romana, donde en los aos 500 A.C. exista un funcionario
del estado conocido con el nombre de censor, el cual controlaba el
nmero de habitantes y la distribucin de la poblacin en el territorio
Por los aos 1500 D.C. se registr en Inglaterra y Francia, los
bautismos, fallecimientos y matrimonios de la poblacin, tales hechos se
publicaban semanalmente y continu siendo una costumbre durante
mucho tiempo
Durante los siglos XVII y XVIII, grandes matemticos como Bernoulli,
Lagrange, Laplace entre otros, desarrollaron la denominada teora de la
probabilidad, la cul aos ms tarde sera el sustento de la mayora de
teoras estadsticas hasta ahora existentes y que dieron origen a las
mltiples aplicaciones de esta ciencia.
3
Estadstica.- Se puede definir a la estadstica como la ciencia encargada de
recolectar, analizar e interpretar la informacin, para aportar en el proceso de
toma de decisiones de una forma ms efectiva
Adems la estadstica constituye una herramienta fundamental en la investigacin
cientfica, busca explicar las relaciones y las dependencias que existen entre
fenmenos, ya sea que estos ocurran de manera aleatoria o condicional.
A la estadstica para su comprensin se la puede clasificar en dos grandes grupos
que son:
La estadstica Descriptiva.- Que se encarga de describir (ya sea grfica o
numricamente) la informacin obtenida, de tal manera que se la pueda resumir
y observar con la mayor claridad y exactitud posible
La Estadstica Inferencial.- Que se encarga de realizar modelos que permitan
inferir y/o predecir parmetros de una poblacin, a partir de la informacin
proporcionada por una muestra representativa. A la estadstica inferencial para
distinguirla de acuerdo al tipo de informacin que utiliza en la muestra se la puede
clasificar en estadstica paramtrica o no paramtrica
Figura 1.1
Estadstica
Descriptiva Inferencial
No
Paramtrica
Paramtrica
1.3.Conceptos Preliminares
Poblacin.- Es el conjunto formado por N individuos, que son todos
aquellos sobre los cuales se desea realizar el estudio, normalmente es
4
demasiado grande para poder estudiarlo en su totalidad, por lo que se
extrae un subconjunto (muestra), para en base a ella realizar inferencias
Muestra.- Es un subconjunto de la poblacin, formado por n individuos,
a los cuales es posible acceder para realizar mediciones
Figura 1.2
Poblacin
N Muestra
individuos
n
Individuos
5
Figura 1.3
Poblacin
Parmetro Muestra
Estadstico
Variables
Cualitativas Cuantitativas
6
Experimento.- Es todo proceso a travs del cual conseguimos un dato o
informacin
Censo.- Es el proceso mediante el cual se recogen datos o informacin de
inters sobre el total de una poblacin.
Encuesta.- Es el proceso mediante el cual se recogen datos o informacin
de inters sobre la muestra representativa que se eligi mediante el
proceso de muestreo.
Figura 1.5
Poblacin
Muestra
Censo
Encuesta
7
2. CAPTULO 2:
FUNDAMENTOS DE R
2.1.Qu es R?
R es un lenguaje de programacin, principalmente encaminado a desarrollar
anlisis estadstico de la informacin, sea esta cuantitativa o cualitativa, y su
respectiva representacin grfica en los casos que sea posible. Fue iniciado en 1995
por Robert Gentleman y Ross Ihaka (de sus nombres deriva el nombre de R) del
Statistics Department University of Auckland
8
(Figura 2.1)
Figura 2.1
2.2. R Console
Es el lugar donde se desarrollar todo el trabajo WorkSpace, desde esta
consola el usuario podr escribir todas las entradas que sean de inters, y as
mismo podr visualizar todas las salidas que puedan producir dichas entradas. Sin
duda al escribir en la consola de R podemos hacer uso de la variedad de objetos
que posee este software. Con el afn de que el lector pueda visualizar muy
ligeramente este proceso, haremos una operacin muy sencilla que consiste en
encontrar la media de un grupo de datos utilizando la funcin mean(). No es de
inters an saber cmo ingresar datos y obtener resultados, ms bien los
siguientes son tan solo ejemplos con el afn de visualizar la escritura en R Console:
Al ingresar los datos [3 5 6 7 12 4 11 7] de la siguiente forma
9
[1] 6.875
Otro ejemplo de inters podra ser generar seiscientos nmeros aleatorios que
sigan una distribucin de poissn con parmetro = 7, tal proceso se muestra en
la figura 2.3 a travs del comando rpois(600,7):
Figura 2.3
10
Grfica 2.1
Histogram of rpois(600, 7)
150
100
Frequency
50
0
0 5 10 15 20
rpois(600, 7)
En fin, podramos ejecutar un sin nmero de objetos que nos ayudara a resolver
diferente necesidades. Sin embargo resulta interesante saber que existe una
interfaz basada en el lenguaje R, en la cual podemos elaborar las mismas tareas
realizadas en la consola, pero con la diferencia que el proceso se encuentra mejor
organizado, es ms amigable con el usuario, se puede observar todo el
procedimiento con sus distintos resultados (numricos y grficos), se puede
observar todo el historial de comandos ejecutados, etc todo esto en diferentes
ventanas dentro de una misma rea de trabajo, o lo que es conocido dentro de este
software como R-Project. Esta interfaz es conocida con el nombre RStudio, y
la cual se constituye en el centro de inters para el soporte de clculos y grficos
estadsticos desarrollados en el presente libro.
2.3. RStudio
El RStudio no es un lenguaje de programacin, sino ms bien se lo puede
considerar como una interfaz que est basada en el lenguaje R, del cual acabamos
de hablar.
Explicando un tanto mejor lo dicho, esto es similar a lo que ocurre con Microsoft
Excel, y el lenguaje de programacin C. La mayora de personas estamos
acostumbrados a aprovechar de todas las ventajas y facilidades (funciones,
11
grficas, formatos, condicionantes, filtros etc) que existe al momento de trabajar
con la hoja de clculo, sin embargo no hay que olvidar que todas estas bondades
estn programadas internamente en el lenguaje de programacin C, por lo que
en realidad el Excel no es un lenguaje donde podamos programar, sino ms bien,
este es considerado como una interfaz que se basa en C. Es similar lo que ocurre
con el lenguaje de programacin orientado a objetos R, y la interfaz grfica
basada en R que se denomina RStudio.
El entorno del RStudio es el que se muestra a continuacin en la Figura 2.4:
Figura 2.4
1
Correr (Run) un comando significa ejecutarlo una vez que se lo ha escrito, para hacer esto
debemos seleccionar la parte del script que queramos correr y aplastar el botn Run o a su vez
(CTRL+R). Por cuestiones pedaggicas escribiremos el comando en la ventana 1, y visualizaremos
su respuesta despus de correrlo en la ventana 3
12
en esta ventana un conjunto de datos creados o exportados, si el usuario
as se lo ordena al programa.
(2) En la parte superior derecha donde entre otras cosas, podemos
observar el historial History de todos los procesos, objetos, funciones,
etcque han sido utilizados y ejecutados ( Run (CTRL +R)), aun cuando
estos hayan sido borrados o modificados desde el Script. As tambin se
puede observar desde Enviroment la lista de variables que han sido
ejecutadas correctamente, y adems podemos importar desde un
directorio de nuestro computador una base de datos.
(3) En la parte inferior izquierda tenemos la R Console, de la cual ya
hemos hablado, pero que dentro de R Studio es conveniente que el uso est
dirigido nicamente para observar todos los resultados provenientes de
los clculos y de los objetos ejecutados desde el Script, esto debido a que
de esta forma el trabajo ser ms organizado.
(4) Finalmente, la parte inferior derecha, donde entre otras cosas nos
ayuda a observar: los archivos Files dentro de nuestro computador
desde los cuales estamos ejecutando y guardando nuestro trabajo, los
grficos Plots que hemos realizado desde el Script, los paquetes
Packages que estn instalados en R, los cuales al ser activados sirven
para que se pueda hacer uso de los comandos que poseen dichos paquetes,
que por lo general ayudan a procesar informacin para resolver un
problema especfico, y la ayuda help, la cual nos muestra informacin
acerca de un objeto (comando o funcin) que se est utilizando, y cuyo
funcionamiento no queda claro para el usuario.
As, para el ejemplo acerca de generar seiscientos nmeros aleatorios que sigan
una distribucin de poissn con parmetro = 7 y visualizar en un histograma su
distribucin de probabilidad, la apariencia que tendra este pequeo ejercicio en
RStudio sera:
13
Figura 2.5
Y claramente podemos observar como despus de escribir los comandos para este
pequeo ejercicio en la ventana 1, se puede visualizar en la ventana 3 los
resultados, es decir los 600 nmeros aleatorios, y en la ventana 4 la grfica
(histograma)
En adelante se escribir nicamente el o los comandos y cdigos que deben ir en
la ventana 1, y el lector deber saber que sus resultados numricos se muestran en
las ventanas correspondientes
Al momento de escribir un cdigo podemos escribir luego del signo # cualquier
comentario, y al momento de mandar a correr el programa dichos comentarios no
sern tomados en cuenta, y no afectarn en el proceso de clculo
x <- rpois(600,7) # Genera 600 nmeros aleatorios que siguen una distribucin de
Poisson con media lambda igual a 7
x # Muestra los 600 nmeros
hist(x) # Grafica el histograma para los datos de x
14
numricos o grficos que se necesita. De esta forma existen comandos que
necesitan de argumentos (datos de entrada), para poder mostrar los diferentes
resultados (datos de salida), que son necesarios al momento de resolver un
problema
Si alguien estuviera interesado en conocer el cdigo con el que se encuentra
elaborado un comando especfico solo tiene que seleccionar dicho comando y
aplastar la tecla F2 en su teclado, y automticamente aparecer una pestaa en
la ventana 1 denominada Source Viewer, donde podr apreciar el cdigo con
el que est programado dicho comando. Por ejemplo existe un comando en R que
sirve para realizar la prueba de normalidad de Shapiro Wilks, shapiro.test( ), el
cual arrojar un estadstico de prueba con su respectivo valor P, el mismo que nos
ayudar a tomar una decisin respecto a la hiptesis de si un grupo de datos viene
o no de una poblacin normal
> shapiro.test(x)
Shapiro-Wilk normality test
data: x
W = 0.9845, p-value = 0.2935
Sin lugar a duda debemos suponer que estos valores son calculados a partir de
ecuaciones y procedimientos matemticos, los cuales para ser ejecutados dentro
de R (o cualquier otro lenguaje de programacin) deben ser previamente escritos
como un algoritmo, este algoritmo es el que se mostrar al aplastar la tecla F2,
luego de seleccionar el comando (sin incluir los parntesis), y es el que se muestra
a continuacin:
15
Figura 2.6
16
Por lo general suele suceder que no sabemos cmo ingresar en el comando toda la
informacin que desearamos para que este pueda entender precisamente lo que
deseamos calcular, en este caso al seleccionar el comando y aplastar la tecla F1,
en la ventana 4, dentro de la pestaa help aparecer la ayuda que se necesita
acerca de todos los argumentos (obligatorios y no obligatorios) que nos permite
ingresar el comando. Para explicar el uso que se le debe dar a esta ayuda lo
ilustraremos con el siguiente ejemplo:
Supongamos que deseamos dibujar una funcin cuadrtica 2x 2 1, para lo cual
utilizamos el comando plot( ), sin embargo, no conocemos cmo ingresar los
datos de entrada, por lo que seleccionamos el comando sin los parntesis y
aplastamos la tecla F1 (otro modo de solicitar la ayuda es escribiendo el nombre
del comando en la parte superior derecha de la pestaa help), y entonces se
mostrar la siguiente informacin respecto a los argumentos:
17
Arguments
the coordinates of points in the plot. Alternatively, a single plotting structure, function or any Robject
with a plot method can be provided.
y the y coordinates of points in the plot, optional if x is an appropriate structure.
... Arguments to be passed to methods, such as graphical parameters (see par). Many methods will accept
the following arguments:
type
All other types give a warning or an error; using, e.g., type = "punkte" being equivalent
to type = "p" for S compatibility. Note that some methods, e.g.plot.factor, do not accept this.
main
sub
xlab
ylab
asp
Donde podemos observar que la ayuda sugiere que todos los argumentos posibles
en la funcinthe y/x aspect ratio, see plot.window.
son: x, y, type, main, sub, xlab, ylab y asp; sin embargo
el nico obligatorio es el argumento x, el cual al estar solo es el rango de la
funcin que toma valores en el eje de las y, por lo que bien se podra asignar un
18
vector x cualesquiera y graficarlo con este comando, en este caso generaremos
un vector de una secuencia desde -10 hasta 10:
Figura 2.7
19
Figura 2.8
> plot(x,y,type = c)
20
Figura 2.9
21
Figura 2.10
22
distribucin normal2 , donde el nico argumento que necesita este comando es un
vector que contenga los datos a ser probados, entonces cuando buscamos la ayuda
acerca de este comando, se muestra la siguiente informacin respecto a los
valores:
Value
p.value an approximate p-value for the test. This is said in Royston (1995) to
be adequate forp.value < 0.1.
method the character string "Shapiro-Wilk normality test".
Si corremos este comando, sin tomar en cuenta ningn valor, sino nicamente el
comando con su argumento, observamos los siguientes resultados:
> a<-c(2,4,6,5,7,8,5,6,8,4)
> shapiro.test(a)
data: a
W = 0.9526, p-value = 0.6992
2
No es de inters en el presente captulo hablar o explicar a detalle esta prueba estadstica, lo
nico que nos interesa es tratar de explicar el correcto uso en general de los comandos, a partir
de este comando especfico
23
> a<-c(2,4,6,5,7,8,5,6,8,4)
> shapiro.test(a) $ statistic
W
0.9525893
> a<-c(2,4,6,5,7,8,5,6,8,4)
> shapiro.test(a)$ p.value
[1] 0.6991811
> a<-c(2,4,6,5,7,8,5,6,8,4)
> shapiro.test(a)$ method
[1] "Shapiro-Wilk normality test"
24
Figura 2.11
25
Figura 2.12
Si el usuario no activase el paquete, cuando corra los comandos que este posee, R
le dar el aviso que no ha podido encontrar dicho comando.
26
Es importante tener en cuenta que una vez que usted activa un comando y lo
utiliza, y luego de cerrar su sesin de RStudio regresa despus de un tiempo para
intentar utilizarlo, usted debe volverlo a activar.
Algunos pocos ejemplos de paquetes existentes en R y que son de gran utilidad
son:
Rcmdr o tambin conocido como R Comander, que sirve para realizar
algunos grficos y clculos estadsticos sin necesidad de escribir en un
script ningn comando o funcin, sino que ms bien tan solo ingresando
una matriz de datos, lo nico que debemos hacer es seleccionar el clculo
que queremos que se realice e inmediatamente los resultados aparecern.
ggplot2, que es un paquete que contiene comandos que nos ayudar a
realizar grficas complejas con varias capas para que sea ms fcil de
interpretar y mejore la esttica y didctica de la presentacin
rgl, que nos ayuda a realizar grficos interactivos y figuras geomtricas en
3D
qcc, que es un paquete que nos brinda comandos para realizar grficos para
el control estadstico de la calidad, como diagramas de Pareto cartas de
control, de atributos etc
SQLdf, que nos permite cargar bases de datos pero adems realizar
consultas
foreing, que nos permitir importar desde otros paquetes estadsticos una
base de datos que se encuentre ya realizada
aspect, que nos facilita comandos para realizar anlisis multivariante de la
informacin
En fin, hasta la actualidad existen 6097 paquetes disponibles, para cada uno
de los cuales existe un manual de referencia en formato .pdf, y un grupo de
investigadores los cuales ao tras ao siguen realizando sus aportes (paquetes),
con el fin de enriquecer esta librera. Para cada uno de estos paquetes se podra
elaborar un libro tan solo para ver la relacin entre las diversas tcnicas
estadsticas existentes, y el soporte para clculos y grficas que tiene cada librera
con respecto a las tcnicas, de hecho existen ya algunos libros basados en los
27
paquetes existentes. Es interesante hacer notar que cada uno de estos paquetes
son diseados para resolver problemas que en su gran mayora tienen que ver con
el anlisis de la informacin, por lo que se podra decir que este software es
netamente estadstico.
La lista de todos los paquetes, as como la explicacin respectiva acerca de su
funcionamiento se puede encontrar en la siguiente direccin http://cran.r-
project.org/web/packages/index.html
Para obtener ayuda acerca del paquete que queremos utilizar, basta con hacer clic
sobre el nombre de dicho paquete e inmediatamente en la pestaa help
aparecer toda la ayuda disponible
> 2 -> x
> x <- 2
> x <- 2
>x
28
Y as para hacer por ejemplo una suma entre 2 variables x e y, o cualquier
operacin matemtica posible podramos asignar:
> x <- 2
> y <- 5
> suma <- x + y
> suma
2.6.2.Vectores
Se trata de la estructura de datos ms sencilla, puesto que es una matriz de
dimensin 1 x p, si lo quisiramos ver como un vector fila, o una matriz p x 1,
si se tratara de un vector columna. Existen varias formas en R de crear un vector,
las ms comunes son:
Con la funcin c( ), que en realidad se usa para concatenar objetos pero
que es muy til al momento de proporcionar un vector. As por ejemplo,
podramos crear un vector que contenga los nmeros 3 5 6 7 8 3 4,
mediante
> x[5]
[1] 8
29
> y <- c("Pablo","Anita","Rosita","Paco","Carmen","Josu","Isaac")
>y
[1] "Pablo" "Anita" "Rosita" "Paco" "Carmen" "Josu" "David"
> y[2]
[1] "Anita"
> seq(1,9)
[1] 1 2 3 4 5 6 7 8 9
> seq(7,21,by=2)
[1] 7 9 11 13 15 17 19 21
> seq(5,1,by=-0.5)
[1] 5.0 4.5 4.0 3.5 3.0 2.5 2.0 1.5 1.0
30
En todos estos casos, note que no hemos asignado ninguna variable a los
vectores, esto har que los comandos se ejecuten automticamente sin
necesidad de mandarlos a correr, esto podra parecer ms prctico, pero
cuando se escribe un cdigo grande es recomendable asignar variables a
todos los vectores que estemos creando. Una desventaja por ejemplo es que
no podemos encontrar un elemento de un vector si lo necesitamos, en
cambio s para crear la ltima secuencia se le hubiese asignado una
variable, sera fcil por ejemplo encontrar su sexto elemento que es -2
> numeric(5)
[1] 0 0 0 0 0
Con la funcin rep( ), que crea un vector con un mismo nmero, tantas
veces como se lo indique en su argumento. Por ejemplo si quisiramos
crear un vector que repita el nmero siete 12 veces, escribimos:
> rep(7,12)
[1] 7 7 7 7 7 7 7 7 7 7 7 7
Estas funciones que se han mostrado para crear vectores, estn en su forma ms
simple, es decir poniendo el argumento bsico, sin embargo al pedir ayuda sobre
31
cada funcin podemos observar los diferentes argumentos que nos es posible
introducir en cada una de ellas, as como las distintas opciones de valores que nos
es posible visualizar, tal como se indic en el apartado 1.4.
2.6.3.Matrices
Una matriz es un arreglo bidimensional de nxp elementos dentro de un conjunto
ordenado, donde n representa el nmero de filas y p el nmero de columnas.
Existen varias formas de crear matrices en R, sin embargo la ms comn es
utilizando la funcin matrix( ). Los argumentos que contiene esta funcin son:
data, nrow, ncol, byrow y dimnames, la forma de utilizar estos
argumentos para crear matrices se explica a continuacin:
data en este argumento se colocarn todos los elementos que queremos
que sean parte de la matriz, para hacerlo podemos utilizar cualquiera de
las formas que hemos aprendido para crear un vector. Cuando utilizamos
nicamente el argumento data, por defecto la matriz se crea con una sola
columna y el nmero de filas igual al nmero de datos ingresados.
32
se encuentren repartidos por columnas, el argumento nrow, nos ayudar a
definir lo dicho:
Para este ejemplo por defecto se crean 5 columnas, para que de esta forma
se completen todos los datos que ingresamos, y de esta manera se crea una
matriz 2 x 5.
ncol Como podemos observar cuando definimos un nmero de filas, el
nmero de columnas que se forman por defecto son todas las necesarias
para que se puedan visualizar el nmero faltante de elementos ingresados,
sin embargo si quisiramos restringir el nmero de columnas para que
sean por ejemplo solo 3, y de esta forma se ingresen solo los primeros
nmeros correspondientes, entonces utilizamos el argumento ncol
Sin embargo ntese que existe un mensaje de advertencia escrito con rojo,
esto no quiere decir que hayamos utilizado mal el comando, solo nos
advierte que el nmero de datos ingresados que para nuestro caso son 10,
no es un mltiplo o submltiplo del nmero de columnas indicadas, por
tal motivo para nuestro ejemplo en particular existen elementos que
ingresamos pero que al momento de formar la matriz no son tomados en
33
cuenta. El nmero de columnas perfectas para que se tome en cuenta todos
los elementos ingresados en nuestro ejemplo seran 5.
Si ingresramos por ejemplo 6 columnas, ntese que los elementos se
agotaran, entonces lo que por defecto hace R, es volver a tomar los
primeros valores hasta que la matriz sea completada. Obviamente este
mensaje de advertencia nuevamente aparecer de color rojo
byrow Note que siempre que usted crea una matriz, por defecto los datos
ingresados se ordenan por columnas.
Cuando al argumento byrow se le asigna un valor lgico verdadero, es decir
byrow = TRUE, estamos diciendo que los elementos se ingresen
ordenadamente en la matriz por filas.
34
> p <- matrix(data = c(2,7,8,4,7,1,6,8,1,5), nrow=2, ncol=5, byrow=FALSE)
>p
[,1] [,2] [,3] [,4] [,5]
[1,] 2 8 7 6 1
[2,] 7 4 1 8 5
>p
col1 col2 col3 col4 col5
fila1 2 8 7 6 1
fila2 7 4 1 8 5
> dim(p)
[1] 2 5
35
> x <- c(3,5,7,3,4,8)
> dim(x)<-c(2,3)
>x
[,1] [,2] [,3]
[1,] 3 7 4
[2,] 5 3 8
Para filtrar un elemento de una matriz tan solo hay que escribir el nombre
de la matriz seguido de corchetes, dentro de los cuales escribimos el par ordenado
que queremos localizar, y de esta forma el resultado nos arrojar el valor que se
encuentra en la coordenada ingresada. Por ejemplo para nuestra matriz x anterior
el par ordenado (2,3), est ocupado por el elemento 8:
>x
[,1] [,2] [,3]
[1,] 3 7 4
[2,] 5 3 8
> x[2,3]
[1] 8
Si lo que deseamos es filtrar toda una fila, lo que haremos es escribir dentro del
corchete el nmero de la fila que queremos filtrar en la posicin correspondiente
a filas y dejamos en blanco la posicin correspondiente a columnas. Por ejemplo
si en la matriz x queremos filtrar la 2 fila escribimos
> x[2,]
[1] 5 3 8
> x[ ,1]
[1] 3 5
36
Para filtrar por ejemplo la 1 y 3 columna a la vez, escribimos:
> x[ ,c(1,3)]
[,1] [,2]
[1,] 3 4
[2,] 5 8
37
var(x) Calcula la varianza de todos los valores de la matriz
round(x,n) Devuelve los valores de la matriz x, redondeados cada uno
en n cifras decimales
rev(x) Invierte el orden de los elementos de la matriz x
sort(x) Ordena los elementos de la matriz x de manera ascendente
rev(sort(x)) Ordena los elementos de la matriz x de manera descendente
cumsum(x) Calcula la suma acumulada de los elementos de la matriz x
cumprod(x) Calcula el producto acumulado de los elementos de la
matriz x
t(x) Devuelve la transpuesta de la matriz x
diag(x) Devuelve la diagonal principal de la matriz x
solve(x) Calcula la inversa de la matriz x
eigen(x) Calcula los autovalores y autovectores de la matriz x
sen(x) Calcula el seno de cada uno de los elementos de la matriz x
cos(x) Calcula el coseno de cada uno de los elementos de la matriz x
sin(x) Calcula el seno de cada uno de los elementos de la matriz x (se
puede calcular tambin el coseno y tangente con cos( )y tan( )
respectivamente)
asin(x) Calcula el arcoseno de cada uno de los elementos de la matriz x
(se puede calcular tambin el arcocoseno y arcotangente con acos( )y atan(
) respectivamente)
sqrt(x) Calcula la raz cuadrada de cada uno de los elementos de la
matriz x
Ingresar cada una de las variables (x, y, z,) como si fueran un vector. Se
debe tener muy en cuenta que como todas las variables van a ser medidas
sobre un mismo nmero de individuos, el nmero de datos que ingresemos
en cada variable debe ser el mismo
Escribir la funcin data.frame(x, y, z,), en cuyo argumento se debe
escribir el nombre asignado a cada una de las variables de inters. Es de
39
gran utilidad asignar algn nombre a la matriz que se formar a travs de
data.frame( ), en nuestro caso se llamar datos
40
Si queremos observar la matriz de datos, en una forma ms ordenada como
la tenemos en la tabla 1.1, tan solo debemos escribir el comando View( ),
en cuyo argumento se debe escribir el nombre que se le asign a la matriz
de datos creada
Si queremos filtrar una variable en particular de la matriz de datos
debemos escribir el nombre que asignamos a la matriz de datos, seguido
del smbolo $, y a continuacin el nombre de la variable que deseo filtrar,
y adicional a esto podremos visualizar los niveles de esta variable. Por
ejemplo si queremos filtrar la variable sexo con sus dos niveles (hombre y
mujer);
> datos$sexo
[1] hombre hombre mujer hombre mujer mujer mujer mujer hombre hombre
Levels: hombre mujer
> datos[datos$sexo=="hombre",]
Lo que estoy dando, es una instruccin que indica que se filtre todas
aquellas filas donde la variable sexo sea hombre en todas las columnas
Tablas de frecuencias
Para conocer el nmero de veces (frecuencia), con la que se repite una
informacin, utilizamos el comando table( ), en cuyo argumento se escribe el
nombre de la base de datos, seguido del smbolo $, y el nombre de la variable
que deseo se calcule la frecuencia. Si quisiera por ejemplo saber con qu frecuencia
ocurren tipos de parto de la matriz de datos que le denominamos datos:
41
> table(datos$parto)
cesrea normal
5 5
Lo cual nos indica que de los 10 partos que hubo, 5 fueron por cesrea, y 5 por
parto normal.
Adems podramos realizar una tabla de frecuencias cruzadas entre dos variables,
tan solo aumentando un segundo argumento que sera el nombre de la segunda
variable de inters. Por ejemplo para conocer el tipo de parto que se produjo segn
si el recin nacido fue hombre o mujer.
> table(datos$parto,datos$sexo)
hombre mujer
cesrea 3 2
normal 2 3
> edit(datos)
42
Figura 2.14
> getwd()
[1] "D:/Documents"
Por lo tanto siempre que quiera importar un documento, en el formato que sea,
debo guardar este archivo en la carpeta que est indicada. Si quisiramos cambiar
de ubicacin para guardar archivos debemos utilizar el comando setwd( ), en cuyo
argumento se debe escribir el directorio en el que deseo guardar los archivos. Por
ejemplo:
43
> setwd(C:/Usuarios/Pablo Flores/Mis documentos)
44
a <- read.table("Datos_Poblacion.txt", header = F,col.names=c("cantn","edad","sexo","habitantes"))
View(a)
a <- read.csv(Nombre_del_Archivo.csv)
45
Importando Desde Un Archivo De Spss .sav
Necesitamos instalar y activar previamente los paquetes foreign, y Hmisc.
Luego de guardar en el directorio adecuado el archivo (Nombre_Archivo.sav),
utilizamos el comando spss.get( ), en cuyo argumento colocamos el nombre
del archivo entre comillas, y si queremos que se use los valores de las etiquetas el
valor lgico verdadero en el argumento use.value.labels
>spss.get("Nombre_del_Archivo.sav",use.value.labels=TRUE)
system.file("mat-files", package="R.matlab")
[1] "C:/Program Files/R/R-3.1.2/library/R.matlab/mat-files"
46
> Nombre <- file.path(path, "Nombre_Archivo.mat")
> Nombre
[1] "C:/Program Files/R/R-3.1.2/library/R.matlab/mat-files/Nombre_Archivo.mat"
Ejemplo 2.1:
Se crea en MATLAB un archivo con el nombre ejemplo.mat, el cual tiene tres
matrices con los nombres X, Y, Z:
11
1 3 5 21 1 2
=4 6 7 = 31 =0 1
8 10 11 41 3 5
51
Importe este archivo desde MATLAB a R, en una variable denominada datos, y a
continuacin visualice las tres matrices en mencin
Solucin:
El cdigo para realizar esta operacin es el siguiente
47
> library(R.matlab) ## Activamos la librera R.matlab
> directorio <- system.file("mat-files", package="R.matlab") ## Llamamos el directorio donde est
guardado el archivo ejemplo.mat
> nombre <- file.path(directorio, "ejemplo.mat") ## LLamamos al archivo por su nombre
> datos <- readMat(nombre) ## Leemos el archivo (lo importamos)
> datos ##Imprimimos los datos importados
$X
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 4 6 7
[3,] 8 10 11
$Y
[,1]
[1,] 11
[2,] 21
[3,] 31
[4,] 41
[5,] 51
$Z
[,1] [,2]
[1,] 1 2
[2,] 0 1
[3,] 3 5
attr(,"header")
attr(,"header")$description
[1] "MATLAB 5.0 MAT-file, Platform: PCWIN, Created on: Wed May 13 09:27:48 2015
"
attr(,"header")$version
[1] "5"
attr(,"header")$endian
[1] "little"
48
> X <- datos$X
>X
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 4 6 7
[3,] 8 10 11
>data( )
49
ChickWeight Weight versus age of chicks on
different diets
DNase Elisa assay of DNase
EuStockMarkets Daily Closing Prices of Major
European Stock
Indices, 1991-1998
En realidad son muchos ms las bases de datos existentes, tan solo se muestral una pequea parte
de la lista
Para visualizar alguna matriz de datos basta con escribir el nombre de dicha matriz
y mandarla a correr, inmediatamente aparecern los datos que forman parte de la
misma. Por ejemplo existe una matriz de datos llamada chickwts, la cual consta
de 2 variables (peso y tipo de alimentacin) medidas sobre 71 pollos. Para
visualizar esta matriz de datos nicamente escribimos chickwts, e
inmediatamente se despliega la siguiente matriz:
Tabla 2.3
En realidad son 71 individuos pero por cuestin de espacio solo se muestran los 1a primeros
50
3. CAPTULO 3:
FUNDAMENTOS DE MATLAB
3.1.Qu es MATLAB?
MATLAB, proviene de las siglas Matrix Laboratory, y se lo puede catalogar como
un programa interactivo, el cual posee mltiples aplicaciones para desarrollar
algoritmos matemticos los cuales dan solucin principalmente a problemas de
ingeniera.
Al igual que R, nosotros podemos obtener una gran ventaja del software MATLAB
en lo que anlisis de datos se refiere, puesto que dentro de su parte programable
tambin funciona con objetos que ya estn definidos, y los cuales pueden ser
manipulados o concatenados mediante operadores (aritmticos, lgicos, y/o
comparativos), lo que nos ayudar a crear un programa completo que resuelva
necesidades especficas. Por tanto a MATLAB, tambin lo veremos como un
lenguaje de programacin orientado a objetos, sin embargo cabe aclarar que el
objetivo de este libro no es programar en el software, sino ms bien utilizar los
objetos que existen por defecto para que sean un soporte al momento de realizar
un anlisis estadstico (numrico y/o grfico) de datos. MATLAB funciona
interactuando directamente con el usuario a travs de comandos, los ms bsicos
para el manejo cotidiano del software son:
clear Borrar la lista de variables con las que se haya estado
trabajando sin que el usuario pueda dejar de visualizarlos
clc Limpiar por completo la pantalla
exit Saldr del programa
format long Mostrar los nmeros en formato largo (15 decimales)
format short Mostrar los nmeros en formato corto (4 decimales),
este formato utiliza el software por defecto
format rat Muestra los nmeros como fraciones
format bank Muestra los nmeros como cantidades de dinero con 22
decimales
format short e Muestra los nmeros en notacin cientfica
51
who Muestra las variables que se estn utilizando
pwd Muestra el directorio del computador donde se est almacenando
todo el trabajo realizado
date Muestra la fecha
clock Muestra la hora
52
(1) La ventana Comand Window, que es la ventana donde el usuario
puede interactuar con el programa, es decir se escriben los comandos
y adems se muestran los diferentes resultados, a excepcin de los
grficos, puesto que estos aparecen en una ventana individual, en la
cual se los puede editar.
Es importante conocer que al escribir una instruccin en esta ventana,
basta con aplastar la tecla Enter, para que dicha instruccin se
ejecute o corra, sin embargo si quisiramos que la instruccin se
ejecute internamente pero no se muestre en la pantalla, antes de
aplastar Enter debemos escribir la simbologa punto y coma ( ; )
seguido de la instruccin. Por ejemplo tal vez si generamos un vector
con mil o ms nmeros para luego sacar su media, resultar fastidioso
que todos esos nmeros se muestren, ya que lo que verdaderamente
nos interesa es su valor promedio, y por ello tapamos el vector con el
smbolo ; y no hacemos lo mismo con el comando que mostrar la
media
>> x = 0:0.5:500;
>> mean(x)
ans =
250
53
Cuando queremos hacer algn comentario acerca de lo que estamos haciendo, se
utiliza el smbolo de porcentaje %, y a continuacin se escribe dicho comentario
con color verde, caso contrario el software producir un error ya que lo
interpretar como un objeto y no como un comentario
ans =
250 % Respuesta de la operacin
54
>> help
HELP topics:
Sin lugar a duda los comandos que utilizaremos con mayor frecuencia en este texto
son los que pertenecen al tpico stats. Para conocer cules son los comandos
dentro de este o cualquier otro tpico, debemos ejecutar el comando help seguido
del nombre del tpico, para nuestro caso por ejemplo al interesarnos conocer los
comandos existentes en el tpico stats debemos escribir el comando help
stats y se desplegar la lista de comandos existentes en distintos campos de la
estadstica
55
>> help stats
Statistics Toolbox
Version 8.2 (R2013a) 13-Feb-2013
Distributions.
Parameter estimation.
betafit - Beta parameter estimation.
binofit - Binomial parameter estimation.
dfittool - Distribution fitting tool.
evfit - Extreme value parameter estimation.
expfit - Exponential parameter estimation.
fitdist - Distribution fitting.
gamfit - Gamma parameter estimation.
gevfit - Generalized extreme value parameter estimation.
gmdistribution - Gaussian mixture model estimation.
gpfit - Generalized Pareto parameter estimation.
lognfit - Lognormal parameter estimation.
makedist - Make probability distribution.
mle - Maximum likelihood estimation (MLE).
mlecov - Asymptotic covariance matrix of MLE.
nbinfit - Negative binomial parameter estimation.
normfit - Normal parameter estimation.
paretotails - Empirical cdf with generalized Pareto tails.
poissfit - Poisson parameter estimation.
raylfit - Rayleigh parameter estimation.
unifit - Uniform parameter estimation.
wblfit - Weibull parameter estimation.
57
adems tambin se puede apreciar las definiciones matemticas estadsticas de la
funcin.
En MATLAB para separar los argumentos de un comando utilizamos el smbolo
de coma ,.
Por ejemplo, dentro del campo de las funciones de distribucin de probabilidad3,
encontramos el comando normpdf, el cual nos ayuda a estudiar la distribucin
de probabilidad de una variable aleatoria normal o tambin llamad Gaussiana.
Para saber cmo funciona este comando entonces ejecutaremos help normpdf
Como podemos apreciar la ayuda nos dice que este comando calcular la funcin
de densidad de probabilidad de un punto en una distribucin normal con media
MU y desviacin estndar SIGMA, para lo cual los argumentos necesarios son: el
valor o valores de los puntos que se desea calcular sus respectivas probabilidades,
el valor de MU y el de SIGMA, pero que cuando no se ingrese los valores de MU y
SIGMA, por defecto el software ingresar 0 y 1 respectivamente en estos
argumentos, adems nos muestra un documento donde se explica la funcin
normal doc normpdf, as como una lista de otros comandos referentes a la
funcin de probabilidad normal.
3
Este tema se lo aborda con mayor amplitud en .
58
Supongamos entonces que queremos conocer la densidad de probabilidad que
tiene el punto 63, en una variable que sigue una distribucin normal con media
MU = 54 y desviacin estndar SIGMA = 16
>> normpdf(63,54,16)
ans =
0.0213
>> a = 7
a=
Para ingresar un objeto no numrico como por ejemplo el nombre de una persona
debemos escribirlos dentro de los caracteres de comillas simples .
>> b = Pablo
b=
Pablo
59
>> x = 3
x=
3
>> y = 4
y=
4
>> R = x + y
R=
7
>> x = 3;
>> y = 4;
>> R = x + y
R=
7
Note que se muestran los valores nicamente de la variable R, que es la que nos
interesa visualizar, y ya no se muestran los valores de los sumandos, pero si se
guardan dentro de la memoria.
3.4.2.Vectores
Existen diversas formas de ingresar un vector en MATLAB, pero las ms comunes
son las que se presentan a continuacin:
Generando un vector cuyos elementos son una secuencia numrica
aritmtica. Para esto tan solo asignamos a una variable tres nmeros
separados por el smbolo de dos puntos :, el primero es el nmero con el
que empieza la secuencia; el segundo es el nmero que va a indicar el
patrn que se va a ir sumando o restando progresivamente, y el tercero es
el nmero con el cual se termina la secuencia. Por ejemplo supongamos
60
que vamos genera un vector cuyos componentes son la secuencia de
nmeros que empiezan en 20 y terminan en -20, pero van decreciendo de
5 en 5.
>> x = 20:-5:-20
x=
>> x = -5:5
x=
-5 -4 -3 -2 -1 0 1 2 3 4 5
>> x = [7,3,5,4,6,1]
x=
7 3 5 4 6 1
>> x = [7 3 5 4 6 1]
x=
7 3 5 4 6 1
61
vector seguido del o los elementos que quisiramos agregar, por ejemplo si
al vector x anterior queremos aadir los elementos 2 y 8, escribimos:
>> x = [x,2,8]
x=
7 3 5 4 6 1 2 8
>> x(3)
ans =
>> x(3) = [ ]
x=
7 3 4 6 1 2 8
62
>> x = [7;3;5;4;6;1]
x=
7
3
5
4
6
1
n=
63
cumprod(x) Calcula el producto acumulado de los elementos del vector
x
sqrt(x) Calcula la raz cuadrada de cada uno de los elementos del vector
x
sin(x) Calcula el seno de cada uno de los elementos del vector x
cos(x) Calcula el coseno de cada uno de los elementos del vector x
tan(x) Calcula la tangente de cada uno de los elementos del vector x
mean(x) Calcula la media de los elementos del vector x
median(x) Calcula la mediana de los elementos del vector x
var(x) Calcula la varianza de los elementos del vector x
std(x) Calcula la desviacin estndar de los elementos del vector x
round(x) Redondea los elementos del vector x al entero ms prximo
roundn(x,-n) Redondea los elementos del vector x a tantas cifras
decimales como se indica en n
sort(x) Ordena los elementos del vector x en forma ascendente
dsort(x) Ordena los elementos del vector x en forma descendente
x Calcula la transpuesta de un vector
k*x Multiplica cada uno de los elementos del vector x por una constante
k
x.^n Calcula la n sima potencia de cada uno de los elemento del
vector x
Es muy importante tener en cuenta el uso del punto en este tipo de
operaciones, ya que si no se lo pusiera el software entendera que se quiere
sacar la n sima potencia de la matriz, la cual es una operacin que no
existe
x + y Suma los elementos del vector x con sus correspondientes del
vector y, siempre que estos tengan la misma dimensin
x y Resta los elementos del vector y de sus correspondientes del vector
x, siempre y cuando estos tengan la misma dimensin
64
x. * y Multiplica los elementos del vector x, con los correspondientes
elementos del vector y, siempre y cuando estos tengan la misma dimensin
x./y Divide los elementos del vector x para sus correspondientes
elementos del vector y
3.4.4. Matrices
En realidad todo la informacin que se ingresa en MATLAB, el software lo
interpreta como una matriz, de hecho cuando ingresamos un vector en realidad
estamos ingresando una matriz de dimensin 1 x p, o p x 1 segn sea el caso, e
inclusive si ingresamos un solo nmero o carcter, lo que estamos haciendo es
ingresando una matriz de dimensin 1 x 1
Las formas ms comunes para ingresar matrices se presentan a continuacin:
Directamente dentro de corchetes, separando el nmero de filas mediante
el smbolo punto y coma, y el nmero de elementos dentro de cada fila con
el smbolo de coma
>> X = [2,3,4;7,3,1]
X=
2 3 4
7 3 1
>> X = ones(2,3)
X=
1 1 1
1 1 1
65
Con el comando zeros( ) en cuyo argumento se escriben el nmero de
filas seguido del nmero de columnas, y que produce una matriz de unos
con tantas filas y columnas como se hayan indicado
>> X = zeros(2,3)
X=
0 0 0
0 0 0
Con el comando eye( ) el cual crea una matriz cuadrada identidad cuya
dimensin igual a la que se indica en su argumento
>> X = eye(3)
X=
1 0 0
0 1 0
0 0 1
>> X = magic(4)
X=
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
66
X = rand(3,5)
X=
67
Figura 3.2
A partir de esta opcin podemos importar textos tanto con formato .txt como con
formato .xlsx. Por ejemplo vamos a importar los datos de la tabla 1.1 referentes a
los 10 nios a los cuales se les midi, su peso, talla, sexo y tipo de parto que se
registraron al nacer.
El primer paso ser seleccionar el documento desde el directorio en el que se
encuentra dentro de su computador. A continuacin aparecer un cuadro de
dilogo donde se muestra adems la matriz de datos a importarse
Figura 3.3
Al dar click sobre el botn verde los datos se importarn al workspace del software
variable por variable
68
Figura 3.4
Si usted desea observar una variable en especial tan solo debe escribir el nombre
de dicha variable en el comand window, y aparecer el vector columna con los
datos de la variable en mencin:
>> Sexo
Sexo =
'hombre'
'hombre'
'mujer'
'hombre'
'mujer'
'mujer'
'mujer'
'mujer'
'hombre'
'hombre'
69
>> X = [Nio,Peso,Talla]
X=
El defecto al ocupar esta opcin es que solo se puede mostrar en una misma matriz
variables del mismo tipo, es decir no se podra mostrar las variables cuantitativas
y cualitativas a la vez
Adems usted tiene la siguiente opcion para importar datos desde excel:
Desde Excel podemos importar los datos utilizando el comando xlsread(
), cuyo argumento es el nombre del archivo, pero siempre debemos cuidar
que dicho archivo se encuentre en la carpeta del directorio en el cual est
trabajando el software.
Para saber cul es el directorio, este se lo puede observar bajo la barra de
herramientas en la parte superior izquierda o a su vez mediante el comando pwd
>> pwd
ans =
C:\Program Files\MATLAB\R2013a\bin
Al visualizar los datos usted notar que solo se ha importado las variables de tipo
cuantitativas
Para importar una matriz de datos desde R a MATLAB, se recomienda copiar dicha
matriz a un archivo de testo o de Excel y a continuacin el procedimiento que ya
se indic
70
Importando desde un archivo de R
En realidad no existe forma de importar directamente desde MATLAB un archivo
o una base de datos creado en R a este software, sin embargo desde R se puede
exportar datos al software MATLAB, con lo cual al final haremos lo mismo.
El requisito necesario es tener activado el paquete R.matlab, ya que
aprovecharemos el comando writeMat( ) que es parte de este paquete. El
procedimiento a seguir se detalla a continuacin:
En R, creamos una variable con los datos que deseamos exportar
datos <- matriz de datos
A continuacin pegamos la variable creada en una directorio, mediante el
comando paste( ), en cuyo primer argumento escribimos el nombre del
directorio donde se pegar el archivo, el cual puede ser un directorio
temporal o ficticio, esto se lo consigue con el comando tempfile( );
seguido de una coma, en el segundo argumento escribimos entre comillas
dobles la extensin del archivo, que en nuestro caso ser .mat
filename <- paste(tempfile(), ".mat")
Utilizamos el comando writeMat( ), en cuyo primer argumento
escribimos el nombre de la variable asignada al directorio en que se peg
la base de datos (realizado en el paso 2), y en el segundo argumento
escribimos un nombre asignado a los datos que queremos exportar
writeMat(filename, datos=datos)
Finalmente imprimimos el directorio (puede ser temporal), creado en el
paso 2, el cual lo tenemos que pegar en cualquier buscador de alguna
carpeta en nuestro computador, y automticamente se abrir MATLAB
con el archivo exportado.
Hay que tener muy en cuenta que el directorio que arroja R, tiene
separadores de raya oblicua doble, y por lo general las computadoras
admiten estos separadores pero en simples, por lo que antes de buscar este
directorio debemos borrar una raya oblicua:
Por ejemplo:
R dar esta direccin
71
C:\\Users \\AppData\\Local\\Temp\\RtmpwpmriB\\file11401f1839f7 .mat
Una vez que estn los datos en MATLAB, el usuario solo tndr que mandar a
llamar dicha informacin. Para explicar de mejor manera lo dicho se plantea el
siguiente ejemplo
Ejemplo 3.1.
En R Studio, existe una base llamada BOD, la cual contiene informacin de 2
variables: time y demand medidas en 6 individuos. Exporte a MATLAB esta
matriz de datos
Solucin:
Escribimos el siguiente cdigo desde R:
72
Automticamente se abrir el siguiente cuadro de dilogo:
Al aplastar Finish, desde MATLAB, es necesario tan solo mandar a llamar con el
nombre a nuestra matriz (en nuestro caso el nombre es datos):
>> datos
datos =
Como puede notar aparecen las dos variables que son parte de nuestra matriz de
datos exportada. Si queremos visualizar alguna de ellas, por ejemplo demand:
>> datos.demand
ans =
8.3000
10.3000
19.0000
16.0000
15.6000
19.8000
73
>> datos = [datos.Time,datos.demand]
datos =
1.0000 8.3000
2.0000 10.3000
3.0000 19.0000
4.0000 16.0000
5.0000 15.6000
7.0000 19.8000
74
4. CAPTULO 4:
ANLISIS DE FRECUENCIAS Y
REPRESENTACIN GRFICA DE DATOS
4.1. Variables y Datos
Recordemos que la estadstica descriptiva se encarga de describir (ya sea grfica o
numricamente) los datos obtenidos, de tal forma que se puedan resumir y
observar con la mayor claridad y exactitud posible. Por tanto la materia prima, o
la razn de ser de la estadstica descriptiva son los datos, sin ellos sera imposible
realizar cualquier tipo de estudio estadstico, es entonces esencial conocer ms
acerca de ellos:
75
Datos de tipo discretos.- Son valores numricos que pueden contarse
en el campo de los nmeros enteros. Por ejemplo la edad en aos puede
ser 0, 1, 2 , 3, 10, 50, 60, etc
Datos de tipo continuo.- Son aquellos cuyos valores se encuentran
dentro de una escala continua o de un intervalo. Por ejemplo la estatura
medida en centmetros, el peso medido en gramos, etc
Adems, a los datos cuantitativos se los puede clasificar de acuerdo al nivel de
medicin que presenten, en este sentido entonces pueden ser de intervalo o de
razn:
Se denominan datos de intervalo cuando dentro de la escala en que se
estn recogiendo los datos, el nmero cero no representa la ausencia de la
propiedad que se est midiendo. Por ejemplo si se est midiendo la
temperatura de una ciudad en grados Fahrenheit, cero grados Fahrenheit
(0F), no representa la ausencia de temperatura, sino ms bien es un valor
de referencia para saber cuan frio o caliente se encuentra la ciudad
Se denominan datos de razn cuando dentro de la escala en que se estn
recogiendo los datos, el nmero cero si representa la ausencia de la
propiedad que se est midiendo. Por ejemplo, si estamos midiendo la
distancia que existe entre dos puntos determinados en centmetros, cero
centmetros (0 cm), representa la ausencia de distancia entre estos dos
puntos y en este caso lo que est ocurriendo es que los puntos se
encuentran en la misma posicin. Otro ejemplo podra ser los datos que se
recogen del gasto diario en dlares que una persona hace en su vida
cotidiana, $0 representa que en ese da la persona no gast nada, es decir
representa la ausencia de gastos
Datos de tipo cualitativo.- Son valores que no representan una cantidad sino
ms bien una cualidad o un atributo de las unidades de anlisis, por ejemplo la
informacin recolectada en las variables sexo, nacionalidad, etc Estos datos se
pueden clasificar de acuerdo a sus categoras en nominales u ordinales:
76
Los datos nominales son aquellos donde las categoras posibles de las
variables son nombres o etiquetas usados para diferenciar un individuo de
otro, no poseen ningn tipo de jerarqua ni ordenacin. Por ejemplo los
datos respecto al color de ojos de un grupo de estudiantes universitarios,
pueden tener categoras como negros, caf, verdes, celestes; note
que las categoras no representan un orden alguno sino tan solo un
nombre, una identificacin.
Los datos ordinales son aquellos cuyas categoras posibles representan
un orden de jerarqua. Por ejemplo los datos respecto a las calificaciones
obtenidas en las categoras de Sobresaliente, Bueno, Regular y
Psimo muestran que aquellos estudiantes pertenecientes a la categora
Sobresaliente, son los ms destacados de la clase, mientras que los que
pertenecen a la categora Psimo, son aquellos con el menor rendimiento
acadmico
4
La manera en cmo se crea esta base de datos la analizamos ya en el captulo 2
77
observaciones y mediciones que se hacen a estos 10 individuos en las distintas 3
variables. Si por ejemplo queremos saber qu tipo de datos son los que se
encuentran en la variable peso, el comando mode( ), del software R nos
ayuda:
> datos
peso talla sexo
1 3.6 46.5 hombre
2 3.2 44.1 hombre
3 2.8 48.1 mujer
4 3.6 46.4 hombre
5 2.7 41.1 mujer
6 2.8 41.8 mujer
7 2.7 41.0 mujer
8 3.0 42.3 mujer
9 3.1 42.5 hombre
10 3.4 43.1 hombre
mode(y) # Con el comando "mode" determinamos que tipo de datos tiene la variable filtrada
[1] "numeric"
Con lo que podemos concluir que los datos referidos a la variable peso son de
tipo numrico.
Probemos ahora a ver qu tipo de datos son los que se encuentran en la variable
sexo:
y <- datos$sexo
[1] hombre hombre mujer hombre mujer mujer mujer mujer hombre hombre
Levels: hombre mujer
mode(y)
[1] "character"
78
4.2. Anlisis Univariado de Frecuencias
Cuando manejamos datos de una variable y queremos resumirlos, una manera de
hacerlo es describir con qu frecuencia estos ocurren. Se trata de determinar cuan
repetitivos (en valor absoluto y porcentaje) son los distintos valores o categoras
que toma dicha variable, tal vez este anlisis sea sencillo e incluso innecesario
mientras tengamos poca cantidad de informacin a analizar, pero mientras ms
grande sea el conjunto de datos con el que estemos trabajando ms importante
ser tener un resumen de esta informacin, la cual nos muestre cules son los
datos que estn apareciendo en el conjunto y con qu frecuencia lo hacen. Para
realizar una tabla donde se pueda observar un anlisis de frecuencia de la
informacin es necesario tener en cuenta los siguientes conceptos preliminares:
Frecuencia absoluta.- En un conjunto de N datos, se denomina
frecuencia absoluta ni del i-simo dato, al nmero total de veces que se
repite dicho dato. Si existen un total de h datos distintos en todo el
conjunto, se cumple:
=
=1
79
= 1
=1
80
4.2.2.Anlisis de frecuencias para datos simples o sin
agrupar
Cuando existen pocos datos, o por lo general cuando estos provienen de una
variable discreta, se detalla la frecuencia de cada uno. Ya que no existen muchos
datos distintos, la informacin no se amontona y es fcil resumir uno a uno estos
datos en una tabla de anlisis de frecuencia.
Ejemplo 4.1.
En la base de datos de R, existe una matriz llamada mtcars (tal como se indic
para visualizarla basta con escribir el nombre y mandar a correr), que rene la
informacin referente a 32 tipos de automviles de los cuales se miden 11
caractersticas, entre ellas se mide la variable <<Nmero de carburadores>>,
denominada carb. Filtrando esta variable halle las frecuencias absolutas y
relativas.
Solucin:
R nos proporciona el comando table( ), para calcular las frecuencias
absolutas, mediante el cual podemos ver cuantos datos existen en la
variable, y la frecuencia de cada uno, as como tambin el comando
prop.table( ), con el cual calculamos las frecuencias relativas, adems
podemos utilizar el comando cumsum( ) para calcular las frecuencias
absolutas acumuladas y relativas acumuladas
81
> x <- mtcars$carb
> x # variable N de carburadores
[1] 4 4 1 1 2 1 4 2 2 4 4 3 3 3 4 4 4 1 2 1 1 2 2 4 2 1 2 2 4 6 8 2
> fa<-table(x) # frecuencia absoluta de x
> fa
x
1 2 3 4 6 8
7 10 3 10 1 1
> fr<-prop.table(fa) # frecuencia relativa de x
> fr
x
1 2 3 4 6 8
0.21875 0.31250 0.09375 0.31250 0.03125 0.03125
> faa <- cumsum(fa) # frecuencia absoluta acumulada de x
> faa
1 2 3 4 6 8
7 17 20 30 31 32
> fra <- cumsum(fr) # frecuencia relativa acumulada de x
> fra
1 2 3 4 6 8
0.21875 0.53125 0.62500 0.93750 0.96875 1.00000
82
>> x = [4, 4, 1, 1, 2, 1, 4, 2, 2, 4, 4, 3, 3, 3, 4, 4, 4, 1, 2, 1, 1, 2, 2, 4, 2, 1, 2, 2, 4, 6, 8, 2];
>> f = tabulate(x)
Value Count Percent
1 7 21.88%
2 10 31.25%
3 3 9.38%
4 10 31.25%
5 0 0.00%
6 1 3.13%
7 0 0.00%
8 1 3.13%
>> cumsum(f)
ans =
1.0000 7.0000 21.8750
3.0000 17.0000 53.1250
6.0000 20.0000 62.5000
10.0000 30.0000 93.7500
15.0000 30.0000 93.7500
21.0000 31.0000 96.8750
28.0000 31.0000 96.8750
36.0000 32.0000 100.0000
Grfica De Pastel
Se trata de un grfico circular subdividido en tantas partes como el nmero de
datos distintos o categoras de la variable existan, donde cada subdivisin
representa la frecuencia absoluta o relativa que tienen estas categoras, dando al
final la suma de todo el pastel el nmero total de datos o el 100% de las
subdivisiones segn corresponda
En R utilizamos el comando pie( )
83
> x <- mtcars$carb
> fa <- table(x)
> pie(fa, main = "Grfica de pastel de las frecuencias absolutas fa", labels = c("1 carb.","2
carb.","3 carb.","4 carb.","6 carb.","8 carb."))
> library("plotrix")
> pie3D(fa, main = "Grfica de pastel de las frecuencias", labels = c("1 carb.","2 carb.","3
carb.","4 carb.","6 carb.","8 carb."))
84
En MATLAB el comando tambin es pie( ). Note que en este software
dado que el resultado de tabulate( ) es una matriz, antes de utilizar el
comando debemos filtrar la 2 columna y a continuacin dibujar el
diagrama de pastel
fa =
7 10 3 10 0 1 0 1
>> pie (fa)
85
Grfica 4.3 Salida En MATLAB De Un Diagrama De Pastel
31%
31%
9%
fa =
7 10 3 10 0 1 0 1
>> pie3(fa)
86
Grfica 4.4 Salida En MATLAB De Un Diagrama De Pastel en 3D
3%
3% 1 carb
31%
2 carb
22% 3 carb
4 carb
6 carb
8 carb
9%
31%
Grfica De Barras
Es una grfica donde en el eje de las x, se ubican cada una de las distintas
categoras, o distintos datos que tiene una variable; para cada una de estas
categoras se levanta una barra sobre el eje de las y, tan alta como su respectiva
frecuencia absoluta o relativa:
En R el comando para graficar un diagrama de barras es barplot( ), cuyo
argumento principal es el vector con los datos. El siguiente comando
grafica un diagrama de barras incluyendo el ttulo, aunque es importante
recordar que hay muchos ms argumentos que se pueden modificar como
las etiquetas para los ejes, el color de las barras, el ancho de las barras, el
espacio entre barra y barra, etc
87
x <- mtcars$carb
fa<-table(x)
barplot(fa, main = "Grfica de barras de las frecuencias absolutas")
88
Grfica 4.6 Salida en MATLAB de un diagrama de barras
10
0
1 2 3 4 5 6 7 8
Ejemplo 4.2.
En la base de datos de R existe una matriz de datos llamada <<chickwts>>, de las
siglas Chicken Weights by Feed Type, donde se miden dos variables: Weight
que es una variable numrica que nos proporciona el peso de 71 pollos; y feed
que es una variable categrica que proporciona el tipo de alimento suministrado a
estos animales. Despus de filtrar la variable feed, halle una tabla de frecuencia
para resumir esta informacin, grafique la frecuencia absoluta en un diagrama de
barras y la frecuencia relativa en un diagrama de pastel
Solucin:
En R:
89
> datos <- chickwts$feed
> datos
> x <- table(datos)
> y <- cumsum(x)
> z <- prop.table(x)
> t <- cumsum(z)
> s <- data.frame(x,y,z,t)
## Hasta aqu el data frame s muestra ya los resultados pero en una forma desordenada,
a continuacin lo que haremos es nicamente ordenar en una tabla
Todos los comandos utilizados en este cdigo han sido ya analizados, a excepcin
de names( ), que lo que hace es arrojar los nombres de las variables que se
encuentran en un data.frame, para lo cual solo necesita como argumento el
nombre del data.frame.
De la misma forma, el comando gsub( ) puede resultar nuevo para el lector, ste
se encarga de cambiar los nombres a las columnas de un data.frame, para lo cual
los argumentos principales son el antiguo nombre, el nuevo nombre, y el comando
names( ), cuyo argumento debe ser el nombre de la matriz de datos que se desea
cambiar sus rtulos en las columnas
90
Grfica 4.7 Grfica de Barras en R para las frecuencias absolutas del ejercicio 4.2
Grfica 4.8 Grfica de Pastel en R para las frecuencias relativas del ejercicio 4.2
En MATLAB:
Lo que haremos en primer lugar es copiar la matriz de datos chickwts a un
documento de testo, para a partir de esto importar dicha matriz al software, tal
91
como ya se lo indic en el captulo 3. A continuacin el cdigo nos ayudar a
determinar el resultado para el ejemplo 4.2.
10
22
36
48
59
71
>> f.rel = [x{:,3}]; %Filtramos la 3 columna que en nuestro caso es la frecuencia relativa
>> frec_rel_ac = cumsum(f.rel)' % Esto nos permite calcular la frecuencia relativa acumulada
frec_rel_ac =
14.0845
30.9859
50.7042
67.6056
83.0986
100.0000
>> bar(f.abs)
92
Grfica 4.9: Grfica de Barras en MATLAB para las frecuencias absolutas del ejercicio 4.2
12
10
0
horsebean linseed soybean sunflower meatmeal casein
Grfica 4.10 Grfica de Pastel en MATLAB para las frecuencias relativas del ejercicio 4.2
17% horsebean
linseed
soybean
15%
sunflower
14% meatmeal
casein
17%
17%
20%
93
hojas los restantes. Este grfico sirve cuando por lo menos se cuenta con dos
dgitos por dato, por ejemplo si tenemos el dato 47, el tallo sera el dgito 4 y la
hoja el dgito 7; o si por ejemplo tenemos el dato 325, el tallo sera 32 y la hoja 5.
Ejemplo 4.3.
En R existe una base de datos llamada attitude, en donde se encuentra la
variable rating, la cual tiene los siguientes datos: 43, 63, 71, 61, 81, 43, 58, 71,
72, 67, 64, 67, 69, 68, 77, 81, 74, 65, 65, 50, 50, 64, 53, 40, 63, 66, 78, 48, 85, 82.
Dibuje un Diagrama de Tallo y Hojas para resumir esta informacin.
Solucin
En R tenemos el comando stem( ), el cual nos ayuda a graficar este diagrama,
cuyos argumentos ms importantes son x en donde se debe indicar los datos de
los cuales deseo realizar el diagrama; y scale que debe indicar cuantos dgitos
deseamos tenga el tallo del diagrama, que para nuestro caso es 1
4 | 033
4|8
5 | 003
5|8
6 | 13344
6 | 5567789
7 | 1124
7 | 78
8 | 112
8|5
94
La tabla de frecuencias cuando agrupamos los datos es la misma que se present
en la seccin 4.2.1 con la nica diferencia que en la primera columna no se coloca
los datos simples sino los datos agrupados.
La forma de crear los intervalos se detalla a continuacin:
a) Determinar el valor mximo y mnimo de los datos y calcular el rango o
amplitud total, que es el valor mximo encontrado en la base de datos
menos el valor mnimo
=
b) Determinar el nmero de intervalos que se desea obtener.- El nmero de
intervalos suele ser determinado a menudo por conveniencia del analista,
sin embargo se recomienda que no sea menor que 5 ni mayor que 12. Si el
analista no tiene claro el nmero de intervalos a generar puede aplicar la
regla de Sturges: << = 1 + 3.32 log()>>, donde n es el nmero de
datos.
c) Calcular el ancho del intervalo que se obtiene dividiendo el rango para el
nmero de intervalos
=
Ejemplo 4.4.
En R existe una base de datos llamada BJSales, la cual posee 150 datos acerca de
la venta en dlares que ha hecho una tienda en ciertos periodos no especificados.
Los datos son los que se muestran a continuacin:
95
200.1 199.5 199.4 198.9 199.0 200.2 198.6 200.0 200.3 201.2 201.6 201.5
201.5 203.5 204.9 207.1 210.5 210.5 209.8 208.8 209.5 213.2 213.7 215.1
218.7 219.8 220.5 223.8 222.8 223.8 221.7 222.3 220.8 219.4 220.1 220.6
218.9 217.8 217.7 215.0 215.3 215.9 216.7 216.7 217.7 218.7 222.9 224.9
222.2 220.7 220.0 218.7 217.0 215.9 215.8 214.1 212.3 213.9 214.6 213.6
212.1 211.4 213.1 212.9 213.3 211.5 212.3 213.0 211.0 210.7 210.1 211.4
210.0 209.7 208.8 208.8 208.8 210.6 211.9 212.8 212.5 214.8 215.3 217.5
218.8 220.7 222.2 226.7 228.4 233.2 235.7 237.1 240.6 243.8 245.3 246.0
246.3 247.7 247.6 247.8 249.4 249.0 249.9 250.5 251.5 249.0 247.6 248.8
250.4 250.7 253.0 253.7 255.0 256.2 256.0 257.4 260.4 260.0 261.3 260.4
261.6 260.8 259.8 259.0 258.9 257.4 257.7 257.9 257.4 257.3 257.6 258.9
257.8 257.7 257.2 257.5 256.8 257.5 257.0 257.6 257.3 257.5 259.6 261.1
262.9 263.3 262.8 261.8 262.2 262.7
Con base a esta informacin genere una tabla de frecuencias para resumir la
informacin:
Solucin:
Como podemos observar existen muchos datos, los cuales en su gran mayora se
repiten una sola vez, por lo que hacer un anlisis de frecuencia para cada uno de
ellos no resumira la informacin, es as que procedemos a agrupar los datos
creando los intervalos de acuerdo a los pasos ya mencionados:
a) Calculamos el rango:
xmax = 198.6
xmin = 263.3
R = 198.6 -263.3 = 64.7
b) Determinamos el nmero de intervalos
ni = 1+3.32*log(150)
ni = 8.22 8
Lo cual me sugiere que lo conveniente es construir 8 intervalos de clase.
Hay que tener muy en cuenta que esta solo es una recomendacin y que el
96
analista puede decidir tener el nmero de intervalos que ms le pareciera
conveniente
c) Calculamos el ancho del intervalo:
64.7
=
8
= 7.9 8
Lo que me sugiere que el ancho de intervalo es 8
Los intervalos que se forman son por tanto deben ser 8 con un ancho de 8, y
estos son:
198.6 206.6
206.7 214.7
214.8 222.8
222.9 230.9
231.0 239.0
239.1 247.1
247.2 255.2
255.3 263.3
Con los cuales puedo crear la tabla de frecuencias para datos agrupados:
Frecuencia Frecuencia
Frecuencia absoluta Frecuencia Relativa
absoluta acumulada Relativa acumulada
Datos (fa) (faa) (Fr) (Fra)
198.6 206.6 15 15 0,100 0,100
206.7 214.7 34 49 0,227 0,327
214.8 222.8 34 83 0,227 0,553
222.9 230.9 6 89 0,040 0,593
231.0 239.0 3 92 0,020 0,613
239.1 247.1 5 97 0,033 0,647
247.2 255.2 16 113 0,107 0,753
255.3 263.3 37 150 0,247 1,000
TOTAL 150 1,000
97
Haciendo el ejercicio en R:
Para obtener resultados acerca de la frecuencia relativa para datos
agrupados utilizaremos el comando hist( ), el cual realmente sirve para
crear un histograma, pero internamente lo que hace es agrupar los datos y
crear intervalos de tal forma que sirvan para hacer el grfico. El comando
posee un argumento denominado <<plot>>, el cual admite valores lgicos,
y al poner en este argumento falso, aparecern resultados de la frecuencia
relativa de estos datos, especficamente bajo el valor <<$counts>>.
$breaks
[1] 190 200 210 220 230 240 250 260 270
$counts
[1] 6 18 48 17 3 14 32 12
$density
[1] 0.004000000 0.012000000 0.032000000 0.011333333 0.002000000
[6] 0.009333333 0.021333333 0.008000000
$mids
[1] 195 205 215 225 235 245 255 265
$xname
[1] "datos"
$equidist
[1] TRUE
attr(,"class")
[1] "histogram"
98
190 200, 200 - 210, 210 - 220, 220 - 230, 230 - 240, 240 -
250, 250 - 260 y 260 - 270. Bajo el valor <<$counts>> podemos notar
que las frecuencias relativas en cada uno de estos intervalos son 6, 18, 48,
17, 3, 14, 32, y 12 respectivamente; las cuales no son las mismas que
calculamos manualmente en un inicio, esto lgicamente se debe a que los
intervalos creados por el software no son los mismos que nosotros
habamos planteado en un comienzo.
Sin embargo bajo el argumento <<breaks>> podemos ingresar un vector
con los intervalos que deseemos, por ejemplo con el intervalo que
originalmente lo hicimos en nuestro ejemplo, y adems como solo nos
interesa determinar las frecuencias escribimos:
Con lo cual tal como podemos apreciar tenemos las mismas frecuencias en
los intervalos que planteamos desde un comienzo. Finalmente un cdigo
que servira para encontrar toda la tabla de frecuencia viene dado por:
99
> datos <- BJsales
> a <- c(198.6,206.6,214.7,222.8,230.9,239,247.1,255.2,263.3)
> Intervalos <- c("198.6-206.6", "206.7-214.7", "214.8-222.8","222.9-230.9",
231.0-239.0", "239.1-247.1","247.2-255.2","255.3-263.3")
> frec_abs <- hist(datos,breaks = a,plot = F)$counts
> frec_abs_ac <- cumsum(frec_abs)
> frec_rel <- prop.table(frec_abs)
> frec_rel_ac <- cumsum(frec_rel)
> data.frame(Intervalos,frec_abs,frec_abs_ac,frec_rel,frec_rel_ac)
5
Una marca de clase es el punto medio de cada intervalo creado, por ejemplo la marca de clase
para el intervalo [198.6 206.6] es 202.6
100
>> datos; %% Exporto los datos desde R
>> mc = [202.6,210.7, 218.8, 226.9, 235, 243.1, 251.2, 259.3]; %% Vector con las marces de clase
>> frec_abs = hist(datos,mc)
frec_abs =
15 34 34 6 3 5 16 37
tabla =
101
Histogramas, Polgono de frecuencias, Diagrama de Pareto y Ojivas.
Histograma
Un histograma es un grfico de barras, en donde en la escala horizontal se
representan los distintos intervalos creados, en cada uno de los cuales se levantan
barras sin separacin verticales tan altas como las frecuencias correspondientes a
cada intervalo, dichas frecuencias estn representadas sobre el eje vertical.
Ejemplo 4.4.1
Con los resultados de las frecuencias absolutas para datos agrupados en intervalos
de la matriz de datos BJSales que se realiz en el ejemplo 4.3, realice un
histograma
Solucin:
Solucin en R:
Para crear el histograma en R, utilizamos el comando hist( ) como lo hicimos
para calcular las frecuencias de cada intervalo, pero con la diferencia que para
el argumento plot asignamos un valor lgico verdadero (True). Como
queremos los mismos intervalos creados y no los que el software calcula por
defecto, escribimos:
102
Grfica 4.11 Salida en R de un histograma para representar datos agrupados
Solucin en MATLAB
En MATLAB utilizamos el comando hist( ), de la misma forma que lo hicimos
para calcular las frecuencias de cada intervalo, pero con la diferencia que no se
debe asignar a ninguna variable el histograma. Como queremos los mismos
intervalos creados y no los que el software calcula por defecto, escribimos:
>> datos;
>> mc = [202.6,210.7, 218.8, 226.9, 235, 243.1, 251.2, 259.3];
>> hist(datos,mc)
103
Grfica 4.12 Salida en MATLAB de un histograma para representar datos agrupados
Histograma de BJSales
40
35
30
25
20
15
10
0
190 200 210 220 230 240 250 260 270
Polgono de Frecuencia
Es un grfico que se genera a partir del histograma, se trata de un polgono cuyos
vrtices coinciden con la marca de clase de cada intervalo, es decir con el punto
medio de cada barra que tiene el histograma, sirve para detectar el dato promedio
existente en cada intervalo de frecuencia.
Ejemplo 4.4.2
Con los resultados de las frecuencias absolutas para datos agrupados en intervalos
de la matriz de datos BJSales que se realiz en el ejemplo 4.3, realice un polgono
de frecuencias
Solucin:
Solucin en R:
En R utilizaremos el comando lines( ), el cual me permite crear lneas que
unen puntos dentro de un grfico ya establecido, que en nuestro caso es el
histograma. Los argumentos obligatorios que en este caso debemos poner en
este comando son:
x = que denota los puntos sobre el eje de las x, y que para nuestro caso ser
el mnimo valor de los intervalos, seguido en orden del valor medio de los
intervalos y el valor mximo
104
y = que denota hasta que altura en el eje de las y llega las lneas creadas, en
nuestro caso desde el punto cero hasta la altura de las frecuencias absolutas.
Estos dos primeros argumentos crearan los puntos formados por los pares
ordenados (x,y), que luego sern unidos por lneas:
Solucin en MATLAB:
En MATLAB, luego de exportar los datos desde R, procedemos a escribir
el siguiente cdigo:
105
>> plot(mc,h)
>> x=datos; % Datos exportados desde R de BJSales
>> mc = [202.6,210.7, 218.8, 226.9, 235, 243.1, 251.2, 259.3]; % Marcas de clase
>> h = hist(x,mc); % Histograma
>> mc = [195,mc,265]; %Aadimos dos puntos a los extremos
>> h = [0,h,0]; % Agregamos cero a los bordes para que el polgono parta y termine en cero
>> plot(mc,h,'o') % Hacemos un grfico de puntos
>> hold on % Sobrescribir otro grfico encima
>> plot(mc,h) % Dibujamos las lneas por encima de los puntos
>> grid on % Dibujamos la cuadrcula
40
35
30
25
20
15
10
0
190 200 210 220 230 240 250 260 270
106
Ojiva
Es un polgono que representa las frecuencias acumuladas absolutas o
relativas. Lo til de esta grfica es que nos permite observar cuantos valores se
encuentran por encima o por debajo de dichos valores
Ejemplo 4.4.3
Utilizando la base de datos BJSales cree una Ojiva
Solucin:
Solucin en R:
En R utilizaremos el comando ogive.freq(), que se encuentra dentro de la
librera agricolae. Lo nico que necesita este comando es tener
previamente construido el histograma de los datos, para a partir de ello
construir la ojiva, tal como se muestra en el siguiente cdigo:
library(agricolae)
datos <- BJsales
h<-hist(datos,plot = T) #histograma
ojiva<-ogive.freq(h,col="red",xlab="Datos", ylab="Frecuencia Relativa Acumulada", main="OJIVA")
Grfica 4.15 Salida en R de una Ojiva para representar frecuencias relativas acumuladas
107
Solucin en MATLAB:
A fin de que la grfica en MATLAB tenga los mismos intervalos que la
realizada en R, utilizaremos las marcas de clase que por default son
calculadas en este software, con lo cual definiremos el dominio con los
mismos intervalos propuestos, tal como se muestra en el siguiente cdigo:
Grfica 4.16 Salida en MATLAB de una Ojiva para representar frecuencias relativas acumuladas
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
190 200 210 220 230 240 250 260 270 280
108
Como habamos mencionado, la ojiva nos ayuda a determinar qu cantidad de
datos se encuentran por encima o por debajo de algn valor especfico; as por
ejemplo podemos notar que aproximadamente el 60% de los datos son menores o
se encuentran por debajo de 230; o que el 30% de los datos son mayores o se
encuentran por encima del valor 250.
Donde:
109
fij Representa la frecuencia para la i sima categora de la variable Y, y la j
sima categora de la variable X. O dicho de otra forma el nmero de individuos
que cumple con la condicin Yi y Xj al mismo tiempo.
f.j Representa la sumatoria de la columna j, o dicho de otra forma la frecuencia
de individuos que estn en la categora j de la variable X
fi. Representa la sumatoria de la fila i, o dicho de otra forma la frecuencia de
individuos que estn en la categora i de la variable Y.
f.. Es la sumatoria total por filas y columnas, que para el caso es el nmero total
de individuos sobre los cuales se est midiendo las dos variables
Rendimiento SEXO
Escolar Masculino Femenino TOTAL
Alto 0 8 8
Bajo 5 16 21
Medio 4 11 15
TOTAL 9 35 44
110
Estudiante Calificacin Sexo Estudiante Calificacin Sexo
1 Alto MASCULINO 23 Medio MASCULINO
2 Medio FEMENINO 24 Alto MASCULINO
3 Alto MASCULINO 25 Bajo FEMENINO
111
> data <- read.csv(file = "D:/Documents/data.csv",header = T,sep = ";") # importo los
datos desde un archivo .csv
> X <- data$Rendimiento.Acadmico # Filtro la variable Rendimiento Acadmico
> Y <- data$Sexo # Filtro la variable Sexo
> t <- table(X,Y) # Construyo la tabla de contingencia
>t # Imprimo la tabla de contingencia
Y
X FEMENINO MASCULINO
Alto 0 8
Bajo 5 16
Medio 4 11
Solucin en MATLAB
En MATLAB utilizaremos el comando crosstab( ), este nos dar las
frecuencias cruzadas de las variables que ingresemos:
112
>> x = Rendimiento; % Exporto la variable Rendimiento Acadmico
>> y = Sexo; % Exporto la variable Sexo
>> t = crosstab(x,y) % Creo la tabla de frecuencia
t=
8 0
11 4
16 5
>> x = Rendimiento;
>> y = Sexo;
>> t = crosstab(x,y); % Hasta aqu tenemos la tabla ya obtenida
>> suma = sum(sum(t)) % Suma total de toda la matriz (Total de individuos)
>> sum_col = sum(t,1) % Suma de cada columna que luego se agregar en una 4 fila
de la matriz t
sum_col =
35 9
>> sum_filas = sum(t,2) % Suma de cada fila que luego se agregar en una 3 columna
de la matriz t
sum_filas =
8
15
21
>> t(4,:) = sum_col; % Asignacin de la suma de columnas a la 4 fila de la matriz t
>> t(:,3) = [sum_filas;suma]; % Asignacin de la suma de filas a la 3 columna de la matriz t
y adems el valor de la suma total a la posicin correspondiente
(4,3)
t=
8 0 8
11 4 15
16 5 21
35 9 44
113
5. CAPTULO 5:
DESCRIPCIN NUMRICA DE DATOS
Adems de realizar un anlisis de frecuencia (aprendido en el captulo 4) que nos
ayude a resumir y presentar visualmente la distribucin de los datos, es
importante estudiar algunos estadsticos o medidas estadsticas que son
substanciales al momento de describir un conjunto de datos.
Las distribuciones de frecuencias son importantes al momento de analizar la
informacin, nos permite tener un panorama general de este conjunto, sin
embargo dejamos a un lado aspectos importantes como la tendencia central, la
variabilidad, la posicin, y la manera de medir ciertas relaciones que se puedan
dar entre dos o ms variables, especialmente cuando son de tipo cuantitativo; y es
precisamente por eso que se estudian a continuacin algunas medidas estadsticas
que nos ayuden a analizar con mayor claridad la informacin recolectada.
114
las 20 calificaciones que obtuvo durante todo el ao en los distintos instrumentos
de evaluacin, que al final se resumir en la calificacin promedio obtenida de 8.
Las medidas de tendencia central ms utilizadas en estadstica son las que se
detallan a continuacin:
Media Aritmtica
La media o ms conocida como promedio de los datos se la representa con la letra
, y se la obtiene sumando los datos existentes, y dividiendo para el nmero n
""
de datos sumados:
=1
=
La media aritmtica tiene la deficiencia de ser sensible a los valores que toma la
variable, as cuando por ejemplo dentro del conjunto de datos se encuentra uno
que sea demasiadamente grande o pequeo, la media se ve seriamente afectada
por ese valor, y pudiera no resumir de manera adecuada el verdadero centro de la
informacin.
Ejemplo 5.1.
Los siguientes son los valores de las calificaciones sobre 10, obtenidas por un
grupo de 15 estudiantes de estadstica:
Estudiante 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Calificacin 8.3 8.1 7.7 8.5 9.3 7.8 8.5 7.9 8.2 0.5 8.2 9.1 8.6 9.2 8.0
115
Si nos fijamos en las calificaciones de los 15 estudiantes, la mayora de estas
(especficamente 14) se encuentran en un intervalo de 7.7 a 9.3, a excepcin de la
obtenida por el 10 estudiante que es de 0.5. Esta calificacin es lo que en
estadstica se conoce como un dato atpico, es decir numricamente esta
observacin es diferente del resto, por lo que al ser la media una medida sensible
a este tipo de datos, la calificacin de este 10 estudiante est afectando el valor de
la media, y se recomienda en este caso utilizar otra medida que no sea sensible a
este tipo de valores atpicos, una opcin es la mediana que la estudiaremos ms
adelante.
As, si eliminamos este valor atpico y calculamos el promedio o media, vamos a
obtener un valor mucho ms real de la tendencia central del grupo de datos, y que
si puede servir como un estadstico que resuma correctamente las calificaciones.
8.3 + 8.1 + 7.7 + 8.5 + 9.3 + 7.8 + 8.5 + 7.9 + 8.2 + 8.2 + 9.1 + 8.6 + 9.2 + 8.0
=
14
= 8.4
Con una mayor seguridad podemos decir que en promedio la calificacin del grupo
de estudiantes es de 8.4.
En R utilizamos el comando mean( ) para calcular la media de un grupo
de datos:
>> x = [8.3,8.1,7.7,8.5,9.3,7.8,8.5,7.9,8.2,0.5,8.2,9.1,8.6,9.2,8.0];
>> mean(x)
ans =
7.8600
116
Media Para Datos Agrupados
Para calcular la media de datos agrupados, debemos sumar los productos de las
marcas de clase de intervalo por la frecuencia obtenida en el mismo, y este
resultado dividirlo para el nmero de datos existentes. Para explicar esto de mejor
manera nos basamos en el siguiente ejemplo:
Ejemplo 5.2.
Luego de hacer un anlisis agrupado de frecuencias para los datos de Bjsales,
calcule la media
Solucin
El proceso de hallar la media se lo resume en la siguiente tabla:
MC f Media
Intervalo (1) (2) (3) = (1)*(2) (4)
190 - 200 195 6 1170 229,87
200 - 210 205 18 3690
210 - 220 215 48 10320
220 - 230 225 17 3825
230 - 240 235 3 705
240 - 250 245 14 3430
250 - 260 255 32 8160
260 - 270 265 12 3180
TOTAL 150 34480
117
> datos <- BJsales # Guardo los datos
> f <- hist(datos,plot = F)$counts # Calculo las frecuencias agrupadas por intervalos
> mc <- hist(datos,plot = F)$mids # Calculo las marcas de clase de los intervalos
formados
> mult <- f*mc # Multiplico la marca de clase por su respectiva frecuencia
> sum_f <- sum(f) # Suma de las frecuencias (Nmero de datos)
> sum_mult <- sum(mult) # Suma de las multiplicaciones
> media <- sum_mult/sum_f # Finalmente obtengo la media
> media
[1] 229.8667
media =
229.8667
Mediana
Es otra medida estadstica que nos ayuda a determinar la tendencia central de un
grupo de datos, a diferencia de la media, este estadstico no es sensible a valores
atpicos que se pudieran presentar.
La mediana se la representa con , y se define como el valor que ocupa la posicin
central de un grupo de datos cuando estos estn ordenados. Si el nmero de datos
n es impar la mediana ser exactamente la posicin central, es decir
= (+1)
2
Pero si n es par la mediana es la media aritmtica entre los dos valores que ocupan
la posicin central, es decir:
118
+ +1
2 2
=
2
Ejemplo 5.3.
Encuentre la mediana de los datos correspondientes a las 15 calificaciones de los
estudiantes de estadstica del Ejemplo 5.1. Compare este valor con la media
calculada en el mismo ejemplo, a continuacin vuelva a calcular la mediana
eliminando el dato atpico de 0.5
Solucin:
Recordemos que los datos eran:
8.3, 8.1, 7.7, 8.5, 9.3, 7.8, 8.5, 7.9, 8.2, 0.5, 8.2, 9.1, 8.6, 9.2, y 8.0
Lo primero que haremos es ordenar los datos:
Posicin 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Calificacin 0,5 7,7 7,8 7,9 8 8,1 8,2 8,2
8,3 8,5 8,5 8,6 9,1 9,2 9,3
Como el nmero de datos n = 15 es impar entonces directamente la posicin
central, que en este caso sera la 8 posicin (puesto que deja 7 nmeros a la
izquierda y 7 a la derecha), es la mediana para este grupo de datos, es decir:
= (15+1) = 8 = 8.2
2
Note que el valor de la mediana = 8.2, no se acerca al valor de la media de 7.86
para el mismo grupo de datos, esto debido a que la mediana no se ve afectada por
el valor atpico de 0.5; as podramos decir que cuando la media se ve afectada por
ciertos valores extremos se recomienda utilizar la mediana.
A continuacin vamos a eliminar el valor atpico de 0.5 y volvemos a calcular la
mediana:
Posicin 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Calificacin 7,7 7,8 7,9 8 8,1 8,2 8,2 8,3
8,5 8,5 8,6 9,1 9,2 9,3
Como el nmero de datos n = 14 es par, entonces lo que hacemos es encontrar las
dos posiciones centrales que para nuestro caso sera la 7 y 8 posicin; a
continuacin la mediana es la media de estos dos valores 8.2 y 8.3, es decir:
119
14 + 14+1
2 2 7 + 8 8.2 + 8.3
= = = = 8.25
2 2 2
Si recordamos, la media para este grupo de datos era de 8.4, este valor est muy
cerca de la mediana calculada = 8.25, con lo cual una vez ms corroboramos que
cuando no existen datos atpicos en una muestra la media es un buen indicador
del centro de la informacin.
En R utilizamos el comando median( ) para calcular la media de un
grupo de datos:
>> x = [8.3,8.1,7.7,8.5,9.3,7.8,8.5,7.9,8.2,0.5,8.2,9.1,8.6,9.2,8.0];
>> median(x)
ans =
8.2000
Donde:
Li Es el lmite inferior del intervalo que contiene el valor medio
a Es el ancho del intervalo que contiene el valor medio
n Es el nmero de datos (Suma de las frecuencias absolutas)
Fi-1 Es la frecuencia acumulada absoluta del intervalo anterior al que se
120
encuentra el valor medio
fi Es la frecuencia absoluta del intervalo donde se encuentra el valor medio
Para saber cul es el intervalo donde se encuentra el valor medio debemos dividir
el nmero de datos para dos (n/2), en el intervalo cuya frecuencia acumulada
contenga dicho valor es aquel que contiene el valor medio.
Ejemplo 5.4.
Para los datos agrupados de la base BJsales encuentre la mediana:
Solucin:
El procedimiento para hallar la mediana se lo detalla en la siguiente tabla
Intervalo f F
190 - 200 6 6
200 - 210 18 24
210 - 220 48 72
220 - 230 17 89
230 - 240 3 92
240 - 250 14 106
250 - 260 32 138
260 - 270 12 150
Como n/2 = 75, el intervalo que contiene este valor es [220 - 230] (pintado de
rojo), a partir de esto calculamos la mediana con la ecuacin propuesta:
150
72
= 220 + 10 [ 2 ]
17
= 221.765
Se omiten los clculos en los software R y MATLAB, puesto que son simplemente
la aplicacin de la ecuacin que se ha aplicado, y el clculo de las frecuencias
absolutas y acumuladas ya se las explic en su debido momento.
Moda
La moda es el dato dentro de la muestra que se repite con mayor frecuencia. Se la
utiliza mayormente para variables cualitativas, puesto que para estas no se pueden
hacer clculos numricos para determinar la media o la mediana; sin embargo es
121
posible tambin determinar la moda de una variable cuantitativa aunque no es
muy comn hacerlo
Ejemplo 5.5.
Calcule la moda del siguiente grupo de datos cualitativos: a, e, o, a, i, e, a, u, a, i,
u
Solucin:
En R:
La moda es a, puesto que es el dato que se repite con mayor frecuencia, en este
caso se repite 4 veces.
En MATLAB se utiliza directamente el comando mode( ), el problema es
que este comando sirve nicamente para datos de tipo cuantitativo; en este
caso lo recomendable es codificar la variable con nmeros y luego asociar
el dato que se repite con mayor frecuencia al cdigo que en un principio se
le asign a dicho dato.
Para nuestro ejemplo, podemos observar claramente que la variable es
Las vocales del alfabeto, por lo que codificaremos de la siguiente manera:
a = 1, e = 2, i = 3, o =4, u=5. De esta forma la moda queda calculada as:
dato =
frecuencia =
122
Este resultado muestra que el dato 1 se repite 4 veces, y es el dato que tiene
una mayor frecuencia. Como el dato 1 se codific con la letra a, entonces
es precisamente ese dato la moda, la cual se repite 4 veces.
Supongamos que existen dos estudiantes, los cuales a lo largo de sus 10 aos de
Educacin General Bsica demostraron siempre ser los mejores, y obtuvieron las
siguientes calificaciones:
Ao EGB 1 2 3 4 5 6 7 8 9 10
Estudiante A 8,7 8,8 8,9 8,3 8,8 8,4 8,5 8,7 8,7 8,6
Estudiante B 10 9,9 10 8,9 8,9 7,9 7,7 7,6 7,7 7,8
Si quisiramos dar un galardn a uno de ellos: A cul de los dos estudiantes
escogeramos? Seguramente lo que primero vendra a nuestra mente es sacar un
promedio de ambos y compararlos:
= 8.64
= 8.64
Sin embargo, al calcular el promedio de calificaciones obtenidas por estos dos
estudiantes, observamos que es exactamente el mismo valor, as que sera
sumamente difcil tomar una decisin acerca de a qu estudiante dar el galardn,
basados en esta medida de tendencia central.
123
En este caso sera muy importante realizar un anlisis acerca de la dispersin de
los datos, puesto que si observamos las calificaciones tanto del estudiante A
como del estudiante B, nos podemos dar cuenta que A siempre tuvo sus
calificaciones muy agrupadas alrededor de su calificacin promedio, es decir fue
muy constante en su vida estudiantil; mientras que B en los primeros aos tuvo
muy buenas calificaciones, sin embargo en los ltimos estas bajaron
considerablemente, lo cual nos muestra que su constancia no fue tan relevante
como la del estudiante A. Existen medidas estadsticas como la desviacin tpica,
desviacin estndar, varianza y rango que nos ayudan a medir la dispersin de un
grupo de datos.
Al final para dar una solucin al problema de los estudiantes, lo que se debera
hacer es calcular una medida que nos ayude a determinar la dispersin de las
calificaciones de cada uno de los dos estudiantes; al final, para este caso ser mejor
el estudiante que posea menos dispersin en sus calificaciones. La medida de
dispersin ser la desviacin estndar (ms adelante se mostrar su clculo).
Desviacin estndar para estudiante A = 0.18
Desviacin estndar para estudiante B = 0.98
Por lo que decidiremos entonces que el estudiante galardonado sea A, es decir el
que tuvo menos dispersin en sus calificaciones, lo que significa que este
estudiante tuvo ms uniformidad en sus calificaciones que B.
A continuacin se muestran las principales medidas de dispersin:
Rango
O tambin llamado Recorrido, se lo representa con la letra R, y se define como la
diferencia entre el dato mayor y el dato menor. Mientras ms grande sea el rango,
mayor ser la dispersin de la informacin recolectada.
=
Ejemplo 5.6
Calcule el rango del grupo de datos referente a las calificaciones obtenidas por un
grupo de 15 estudiantes en el ejercicio 5.1.
124
Solucin:
En R:
En este software podemos utilizar el comando range( ), el cual nos dar
realmente un vector con 2 elementos indicando el valor mnimo y mximo
del conjunto de datos. Sin embargo si queremos el valor del rango como tal
lo que debemos hacer es restar estos dos valores
En MATLAB:
Utilizamos el comando range( ), el cual directamente nos proporciona
el valor del rango.
>> x = [8.3,8.1,7.7,8.5,9.3,7.8,8.5,7.9,8.2,0.5,8.2,9.1,8.6,9.2,8.0];
>> range(x)
ans =
8.8000
El rango de 8.8, es un valor grande con relacin a los datos, por lo que de acuerdo
a este valor podemos decir que existe una gran dispersin entre la informacin.
Hay que tener en cuenta que el valor del rango puede ser afectado por los datos
atpicos existentes.
Desviacin Tpica
La desviacin tpica mide la distancia existente entre un dato con respecto a la
media del grupo de datos al cual pertenece. Se calcula restando dicho dato menos
la media, mientras ms grande sea la desviacin tpica en valor absoluto, mayor
125
ser la distancia o la dispersin de ese dato con respecto a la media aritmtica
calculada.
=
Ejemplo 5.7.
Calcule las desviaciones tpicas de los datos referentes a las calificaciones
obtenidas por un grupo de 15 estudiantes en el ejercicio 5.1.
Solucin:
En R:
126
promedio de las desviaciones tpicas; a esta medida estadstica de dispersin se la
conoce con el nombre de Desviacin Estndar.
La desviacin estndar S es el promedio o la media aritmtica de las
desviaciones tpicas
=1( )
=
=
Matemticamente esta ecuacin tiene el problema que al sumar todas las
desviaciones tpicas estas se anulan, por lo que al calcular la desviacin estndar
de cualquier grupo de datos existentes esta medida siempre ser igual a cero, y no
sera posible resumir mediante esta forma la dispersin.
Como alternativa a este problema se elevan al cuadrado cada una de las
desviaciones tpicas, y estos valores se lo suman. A esta forma de resumir el
cuadrado de las desviaciones tpicas se la conoce con el nombre de Varianza, que
matemticamente es el cuadrado de la desviacin estndar.
La Varianza S2, es el promedio o la media aritmtica de los cuadrados de las
desviaciones tpicas
=1( )2
2 =
Donde:
Representa cada uno de los datos
Representa la media del grupo de datos
n Nmero total de datos
= 2
Pero Cmo podemos interpretar los valores de la varianza o
desviacin estndar? Puesto que lo que realmente se est encontrando, es en
127
promedio la distancia de cada uno de los datos con respecto a la media, mientras
ms grandes san estas medidas con respecto a los datos de los cuales estn siendo
calculadas, mayor ser la dispersin de los datos con respecto a la media, y por
ende mayor la irregularidad que presentan.
Cuando la varianza y/o desviacin estndar toma valores relativamente muy
pequeos, se puede concluir diciendo que la media es un buen indicador del centro
de la informacin. Mientras que si estas medidas de dispersin son relativamente
grandes, la media no es un buen indicador del centro de los datos (puesto que esta
medida de tendencia central como habamos dicho es susceptible a valores
extremos), y sera conveniente utilizar otra medida para resumir la tendencia
central del conjunto, como por ejemplo la mediana.
Ejemplo 5.8
Calcule la varianza y desviacin estndar de los datos correspondientes a las
calificaciones obtenidas por un grupo de 15 estudiantes en el ejercicio 5.1. En una
primera parte incluya todos los 15 datos, y luego excluya el atpico x10 = 0.5. Saque
sus conclusiones
Solucin:
En R: Utilizaremos los comandos var( ) y sd( ) para calcular la
varianza y desviacin estndar respectivamente
128
> x <- c(8.3,8.1,7.7,8.5,9.3,7.8,8.5,7.9,8.2,0.5,8.2,9.1,8.6,9.2,8.0) # Ingreso todos los
15 datos
> varianza <- var(x) # Calculo la varianza
> varianza
[1] 4.391143
> desv_est <- sd(x) # Calculo la desviacin estndar
> desv_est
[1] 2.095505
129
respecto a los datos, por lo que podemos concluir que existe una
considerable dispersin de los datos con respecto a la media, y no podra
considerarse esta medida como un buen indicador de la tendencia central.
Sin embargo hay que tener mucho cuidado en dar apresuradamente una
conclusin como la dada, puesto esta varianza grande puede ser producto
de un solo dato atpico que se encuentre en el conjunto, tal como sucede en
este caso, donde al retirar dicho dato observamos como las medidas de
dispersin reducen considerablemente (S 2 = 0.2644 y S = 0.5142), por lo
sin este dato, la dispersin es muy pequea y podemos decir que la media
es un buen indicador del centro de la informacin.
Desviacin Estndar = 2
Donde:
m Es el nmero de intervalos formados
xi Representa las distintas marcas de clase en cada intervalo
Representa la media de datos agrupados (Cuyo clculo ya se explic en el
apartado 5.1.1)
fi Representa la frecuencia absoluta en cada intervalo
n El nmero total de datos
Ejemplo 5.9.
A partir de la base de datos BJSales encuentre la varianza y desviacin estndar
agrupando este conjunto de datos.
Solucin
130
Previamente conocemos ya por el Ejemplo 5.2, que la media para datos agrupados
en este conjunto es de 229,87; por lo que para calcular la varianza procedemos a
aplicar la ecuacin planteada a travs del siguiente cuadro:
xi fi ( ) )
(
Intervalo (1) (2) (3) (4)
190 - 200 195 6 1215.92 7295.50
200 - 210 205 18 618.52 11133.30
210 - 220 215 48 221.12 10613.61
220 - 230 225 17 23.72 403.19
230 - 240 235 3 26.32 78.95
240 - 250 245 14 228.92 3204.84
250 - 260 255 32 631.52 20208.54
260 - 270 265 12 1234.12 14809.40
TOTAL 150 67747.34
= 451.65
= 21.25
El valor de la desviacin estndar S = 21.25, es un valor relativamente pequeo
con respecto al grupo de datos al que pertenece por lo que podemos concluir que
131
existe poca dispersin en los datos con respecto a la media, y esta es un buen
indicador de la tendencia central o lo que es lo mismo resume de una forma
adecuada a la informacin.
En R ponemos a consideracin el siguiente cdigo que nos ayudar a
calcular la media para datos agrupados:
var =
451.6489
desv =
21.2520
132
5.1.3. Medidas de Posicin
Estas medidas permiten conocer posiciones no necesariamente centrales en el
conjunto de datos que los dividen de igual forma. Las medidas de este tipo ms
comunes son los Cuartiles, Quintiles y Deciles.
Se puede por ejemplo decir que la mediana a ms de ser una medida de tendencia
central es una medida de posicin, puesto que divide al conjunto de datos en dos
partes exactamente iguales, ya que por encima de la mediana se ubica
exactamente el 50% de la informacin y por debajo de ella el otro 50% restante.
Cuartiles
Son valores que dividen a un conjunto de datos en 4 grupos, los cuales poseen la
misma cantidad de informacin. Existen tres cuartiles que dividen al conjunto de
datos en 4 partes iguales que representan la cuarta parte de la informacin cada
uno
Hasta 1 Cuartil Q1 se determina el 25% de la informacin; hasta el 2 cuartil
Q2, que coincide con el valor de la mediana se determina el 50% de la
informacin; y hasta el 3 cuartil Q3, se determina el 75% de la informacin.
Para calcular los cuartiles debemos ordenar en 1 lugar los datos de menor a
mayor; existen casos donde resulta un poco ms sencillo determinar la posicin
de cada uno de los cuartiles, ya que podemos observar claramente aquellos tres
datos que dividen en cuatro grupos del mismo tamao a todo el conjunto. Por
ejemplo con 7 o 15 datos cualesquiera:
133
Sin embargo existen situaciones en las que para dividir al conjunto de datos en
partes iguales, se debe tomar el valor medio entre dos datos. Por ejemplo si
tenemos 8 o 16 datos
Boxplot
Para representar grficamente los cuartiles existentes en un grupo de datos
utilizamos el llamado boxplot o diagrama de cajas, donde las lneas que se
encuentra en la mitad de la caja representa el 2 cuartil (mediana), y las lneas que
son lmites de la misma representan el 1 y 3 cuartil respectivamente.
134
Cuando conjunto de datos presenta datos atpicos, el boxplot lo representa como
un punto fuera de la grfica.
135
Su altura Height, y su volumen Volume. Encuentre los cuartiles en cada
Variable y grafique el respectivo Boxplot en cada caso:
Solucin:
En R: Utilizaremos los comandos quantile( ) y boxplot( ) para
determinar los cuartiles y graficar el diagrama de caja respectivamente
136
Estos valores se los puede observar grficamente en un boxplot. Los
boxplot que R realiz mediante el cdigo propuesto son:
Grfico 5.1 Salida en R De un Diagrama de Caja
Estos grficos se los realiz por separado, uno para cada variable, sin
embargo se puede realizar los tres en uno solo
137
Grfico 5.2 Salida en R de 3 boxplot en un solo grfico
138
>> datos % Exporto los datos
datos =
cuartiles =
cuartiles =
72 76 80
_________________________________________________________________________________
cuartiles =
cuartiles =
139
De la matriz encontrada, la 1 columna corresponde a los cuartiles 1, 2 y 3
respectivamente de la 1 variable Girth; la 2 columna de la variable
Height, y la 3 columna de la variable Volume
85
80
Values
75
70
65
1
Column Number
140
Grfico 5.4 Salida en MATLAB de un Boxplot para las tres variables
90
80
70
60
Values
50
40
30
20
10
1 2 3
Column Number
Quintiles y Deciles
Quintil.- Son los 4 valores que dividen a un grupo de datos en cinco partes iguales.
Cada parte representa el 20% de la informacin.
Deciles.- Son los 9 valores que dividen a un grupo de datos en diez partes iguales.
Cada parte representa el 10% de la informacin.
Ejemplo 5.11.
Determine los quintiles y deciles de la variable Height, en la base de datos trees
Solucin:
En R utilizaremos el mismo comando que para los cuartiles quantile( ),
con la diferencia que haremos uso del argumento <<probs>> el cual nos
permite en un rango de 0 a 1 determinar cules son los percentiles que
deseamos calcular. Para nuestro caso especfico de los quintiles los
percentiles que se desea son los correspondientes al 20%, 40%, 60% y
141
80%; as mismo en el caso de los deciles tenderemos que indicar los puntos
correspondientes al 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80% y 90%
quintiles =
deciles =
142
la existencia de dos variables necesarias para determinar las relaciones existentes
entre ellas, y la influencia que tiene la una sobre la otra. Bsicamente para estudiar
aquello analizaremos dos medidas estadsticas que son la covarianza y el
coeficiente de correlacin.
5.2.1. Covarianza
Dadas dos variables estadsticas X e Y, matemticamente la covarianza SXY
existente entre estas dos variables queda definida por:
1
= ( )( )
=1
Donde:
SXY Representa la Covarianza
n es el nmero total de datos o individuos
xi son los datos de la primera variable
yi son los datos de la segunda variable
la media de la primera variable
la media de la segunda variable
La covarianza mide el tipo de relacin conjunta que existe entre las dos variables
en estudio, de esta forma si:
SXY > 0, esto mostrar una relacin directamente proporcional entre las
dos variables, es decir que a mayor incremento (o decremento) de la una,
habr mayor incremento (o decremento) de la otra tambin. Suelen ser por
ejemplo variables muy comunes que muestran una covarianza positiva
<<Edad de un grupo de nios>> con la <<Estatura de un grupo de
nios>>; en la gran mayora de casos suele suceder que a mayor edad,
mayor es la estatura correspondiente, o anlogamente a menor edad
menor estatura. Sin duda cuando ocurre esto tendremos una covarianza
positiva
SXY < 0, esto mostrar una relacin inversamente proporcional entre las
dos variables, es decir que al ir aumentando la una, la otra tomar un
143
sentido contrario, es decir ir disminuyendo. Suelen ser por ejemplo
variables muy comunes que muestran una covarianza negativa <<Edad de
un grupo de personas de 25 a 100 aos>> con la <<Fuerza que posee un
grupo de personas de 25 a 100 aos>>; en la gran mayora de los casos
suele suceder (en los individuos pertenecientes a este grupo de edad) que
a mayor edad que tenga una persona menor fuerza posee.
SXY = 0, esto mostrar que no existe ningn tipo de relacin entre las dos
variables, es decir estas son independientes, por lo que la una no influye en
nada en la otra. Suelen ser por ejemplo variables muy comunes que
muestran una covarianza nula <<Coeficiente intelectual de una persona>>
con el <<Color de ojos de una persona>>; en la gran mayora de casos suele
suceder que el coeficiente intelectual que tenga persona no dependa o se
vea influido de su color de ojos
Ejemplo 5.12
En R existe una base de datos denominada mtcars, en la cual se recoge
informacin acerca de 32 automviles. Se miden 11 caractersticas, es decir existen
datos para estos automviles acerca de 11 variables; 3 de estas variables por
ejemplo son <<mpg>>, que mide las millas por galn de gasolina que consume
cada auto, <<Displacement>> que mide el desplazamiento que cada auto tiene, y
<<hp>> que mide los caballos de fuerza que posee cada auto. Determine a travs
de la covarianza el tipo de relacin existente entre mpg - disp y disp - hp.
Solucin
En R utilizaremos el comando cov( ), cuyos dos argumentos principales
<<x>> e <<y>> son los datos correspondientes a las dos variables que se
desean comparar. Note que existe un argumento denominado
<<method>>, en el cual podemos elegir las opciones pearson, spearman,
o kendall. El que viene por defecto si no especificamos nada en este
argumento es el mtodo de Pearson que es precisamente el que coincide
con la ecuacin planteada en este texto, por tanto ser el que siempre
144
utilizaremos, y al venir por defecto este mtodo en el comando podemos o
no especificarlo.
ans =
36.324 -633.1
-633.1 15361
ans =
15361 6721.2
6721.2 4700.9
Nota.- Posiblemente los resultados debido a que los nmeros son cifras
grandes, se presenten de la siguiente forma:
145
>> cov(datos.disp,datos.hp)
ans =
1.0e+004 *
1.5361 0.6721
0.6721 0.4701
Del ejercicio lo que nos interesa es conocer el tipo de relacin existente entre las
variables. Al respecto y basndonos en la covarianza calculada podemos decir:
- La covarianza entre mpg y disp de -633.1 nos indica que existe
una relacin inversamente proporcional entre estas dos variables, es
decir que mientras las millas por galn registradas por los autos
aumenta, el desplazamiento de los mismos disminuye y viceversa.
- La covarianza entre disp y hp de -633.1 nos indica que existe una
relacin directamente proporcional entre estas dos variables, es decir
que mientras ms potencia tenga el automvil medido en caballos de
fuerza, mayor es el desplazamiento que realizan los autos y viceversa.
5.2.2. Correlacin
Si bien es cierto la covarianza nos indica el tipo de relacin que existe entre dos
variables, sin embargo nada nos dice acerca de la fuerza de esta relacin, es por
eso que se propone un coeficiente de correlacin (de Pearson), el cual se encuentra
en un rango de -1 a 1, y que mide la fuerza con la que dos variables se relacionan.
146
Es importante conocer no solo el tipo de relacin entre dos variables, puesto que
es posible que dos pares de variables tengan el mismo tipo de relacin, pero tal vez
un par se relacione con ms o menos fuerza que otro.
147
Si 0.75 < |r | < 1, existe una relacin fuerte
Ejemplo 5.13
A partir de la base de datos mtcars, encuentre e interprete el coeficiente de
correlacin de los mismos pares de variables para los que se encontr la covarianza
en el ejercicio 5.12, es decir mpg - disp y disp - hp.
Solucin
En R utilizamos el comando cor( ), cuyos dos argumentos principales
<<x>> e <<y>> son los datos correspondientes a las dos variables que se
desean comparar. El comando <<method>> usa por defecto el coeficiente
de correlacin de Pearson, por lo que se puede o no aclarar.
148
>> datos; % Exporto los datos mtcars
>> corrcoef(datos.mpg,datos.disp) % Correlacin mpg - disp
ans =
1.0000 -0.8476
-0.8476 1.0000
ans =
1.0000 0.7909
0.7909 1.0000
149