Está en la página 1de 159

ESCUELA SUPERIOR POLITCNICA DE CHIMBORAZO

FACULTAD DE CIENCIAS, ESCUELA DE FSICA Y MATEMTICA


RIOBAMBA ECUADOR
2015

PABLO FLORES MUOZ


1
ESTADSTICA DESCRIPTIVA
MEDIANTE EL USO DE R Y
MATLAB

Pablo Flores Muoz


Escuela Superior Politcnica de Chimborazo

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

Es as que agradezco infinitamente al Dios de la


Biblia, el cul es el creador de todo el conocimiento
que existe en la tierra, y l cual me ha permitido para
su gloria realizar este aporte
A mi amada esposa Anita y mi amado hijo Pablito,
gracias por siempre creer en m y construir juntos
nuestra historia, nuestros sueos, triunfos y fracasos,
en cada cosa que hacemos incluyendo este libro

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.

1.1. Breve Historia de la Estadstica


Es realmente difcil establecer con exactitud una fecha exacta donde pudo haber
comenzado el hombre a utilizar estadsticas, ciertas piezas arqueolgicas de
distintos pueblos y tribus nos dan a entender que el hombre primitivo usaba
estadsticas para llevar cuentas acerca del ganado, la caza o la cosecha. La biblia
nos ensea en el antiguo testamento que cuando Dios liber al pueblo de Israel de
su esclavitud en Egipto, Moiss realiz un censo de poblacin El Seor le dijo a
Moiss: Haz un censo de todos los primognitos israelitas mayores de un mes, y
registra sus nombres << Nmeros 3:40 >>. Algunas civilizaciones antiguas
tambin se vieron en la necesidad de elaborar estadsticas, de algunas de ellas
hablamos a continuacin:

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.

1.2.Definicin y Clasificacin de la Estadstica


La palabra Estadstica procede del vocablo Estado, ya que precisamente en sus
orgenes era este ente el encargado de establecer registros e informacin de los
principales hechos que acontecan en el estado y la dinmica de la poblacin

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

Muestra Aleatoria.- Es un subconjunto representativo de la poblacin,


donde cada elemento de dicha poblacin tiene la misma oportunidad de
ser parte de esta muestra, y es confiable para realizar inferencias acerca de
la poblacin
Muestreo.- Son todas aquellas tcnicas que nos permiten seleccionar una
muestra representativa de la poblacin en estudio
Parmetro.- Es un resumen de la informacin sobre los individuos de la
poblacin, por lo general un parmetro no se calcula, sino que se estima a
partir de las mediciones realizadas en la muestra aleatoria
Estadstico.- O tambin llamado estimador, se lo localiza en la muestra
aleatoria, es posible calcular sus valores y se utiliza para estimar algn
parmetro de la poblacin

5
Figura 1.3

Poblacin

Parmetro Muestra

Estadstico

Unidades de Anlisis.- Son los objetos o sujetos de la poblacin de los


cuales nos interesa medir algunas caractersticas de tipo estadstico
Variable.- Es una caracterstica observable en las unidades de anlisis,
que vara frecuentemente. Su clasificacin se la puede apreciar en la
siguiente figura:
Figura 1.4

Variables

Cualitativas Cuantitativas

Ordinales Nominales Discretas Continuas

En el captulo Variables Aleatorias, se trata a profundidad este tema.


Dato.- Son los valores particulares que toma cada variable al ser medida
sobre los individuos, y se clasifican de acuerdo al tipo de variable de la cual
fueron tomados

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

Se trata de un lenguaje de programacin orientado a objetos, y es por ello la gran


utilidad y potencia que tiene el uso de este programa, as mientras que en los
lenguajes de programacin tradicionales se construye cada uno de los pasos para
la obtencin de una ecuacin, funcin, variable, etc, y al final se muestran los
resultados, el R guarda estos resultados como un objeto en la memoria activa
del computador, para que despus el usuario pueda manipular estos objetos en
un script con operadores (aritmticos, lgicos, y comparativos) y funciones (que
a su vez son objetos), de tal manera que se pueda crear un programa completo que
pueda desarrollar algn modelo que resuelve necesidades especficas del usuario.
De esta manera su aplicacin tambin resulta ms potente que los software
estadsticos tradicionales donde nicamente se ingresa la informacin, y luego de
un par de clics aparecen los resultados, sin tener ms opciones de anlisis de la
informacin ms que las que ya se encuentran establecidas en estos paquetes.

La consola de trabajo del software R R Console tiene la siguiente apariencia

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

> x <- c(3, 5, 6, 7, 12, 4, 11, 7)

Luego al ejecutar el comando mean()

> media <- mean(x)

Se obtendr como resultado

9
[1] 6.875

Tal como se puede visualizar en la figura 2.2:


Figura 2.2

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

E inmediatamente podramos estar interesados en generar el histograma de estos


600 datos con distribucin de poissn. Esto mediante el comando
> hist(rpois(600,7))

Lo cual nos arrojar la siguiente grfica (Grfica 2.1):

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

Bsicamente son cuatro ventanas las que se puede apreciar:


(1) En la parte superior izquierda una ventana donde se ubican los
scripts.- Es decir los guiones donde escribiremos el conjunto de
instrucciones o comandos (cdigos) necesarios para encontrar respuestas
para resolver una necesidad estadstica especfica. Desde aqu el usuario
luego de escribir, deber seleccionar todo o parte del cdigo en el que est
interesado y deber mandarlo a correr1, para que de esta forma sus
resultados se puedan visualizar en la ventana 3. Adems podemos observar

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

2.4. Los Comandos en R


Un comando est elaborado por un algoritmo que contiene el procedimiento
necesario, de tal forma que al momento de ejecutarlo, en realidad se le est dando
una instruccin o una orden al programa para que muestre ciertos resultados

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

Es importante recalcar que el cdigo que se muestra es nicamente de lectura y el


usuario no cuenta con los permisos para modificarlo.
En la mayora de ocasiones sucede que no conocemos cmo aprovechar en su
totalidad algn tipo de comando que sea de nuestro inters, en estos casos
conviene pedir ayuda al mismo programa, de tal forma que este nos pueda
facilitar entre otras cosas una breve descripcin del comando, ejemplos de cmo
usarlo, descripcin de los argumentos del comando, la forma de visualizar
diferentes resultados especficos que puedan ser de provecho, e incluso algn tipo
de manual en caso de existir.
En particular analizaremos a continuacin la forma de utilizar los argumentos, y
la forma de visualizar resultados especficos que pueda proveer algn comando.

2.4.1. Argumento de los Comandos:


Un argumento o parmetro, son los distintos valores que el usuario puede escribir
en el comando (dentro de los parntesis), y que constituyen la informacin de
entrada o valores independientes, en funcin de los cuales se calculan valores
especficos basados en una funcin de inters.

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

what type of plot should be drawn. Possible types are

"p" for points,


"l" for lines,
"b" for both,
"c" for the lines part alone of "b",
"o" for both overplotted,
"h" for histogram like (or high-density) vertical lines,
"s" for stair steps,
"S" for other steps, see Details below,
"n" for no plotting.

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

an overall title for the plot: see title.

sub

a sub title for the plot: see title.

xlab

a title for the x axis: see title.

ylab

a title for the y axis: see title.

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:

> x <- seq(-10,10)


>x
[1] 10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10

Y al ejecutar el comando plot(x), se genera el grfico que se muestra en la figura


2.7

Figura 2.7

Sin embargo esta grfica no es la que deseamos, es decir la grfica de la funcin


2x2 1, que se plantea en el presente ejercicio, pero la ayuda de los argumentos
nos muestra que si al comando plot le aumentamos un argumento y con la
funcin que queremos graficar, obtendremos el resultado deseado. En este sentido
entonces escribimos

> x <- seq(-10,10)


> y <- 2*x^2 - 1
> plot(x,y)

El cual me mostrar la grfica que se muestra en la figura 2.8

19
Figura 2.8

Como se puede apreciar hemos conseguido la grfica de parbola de la funcin


cuadrtica, que por defecto grafica los pares ordenados como puntos vacos.
Es interesante ahora observar que el siguiente argumento es type, el cual como
dice en la ayuda, nos ayuda a definir con qu tipo de forma me interesa que sean
graficados los pares ordenados formados, en este caso p para puntos, l para
lneas, b para puntos y lneas (ambos), c para lneas entre cortadas, o para
puntos y lneas pero sobrepuestas, etc. En este ejemplo escribiremos el guion de
tal forma que dibuje lneas entre cortadas, el cual nos dar como resultado el
grfico de la figura 2.9

> plot(x,y,type = c)

20
Figura 2.9

Finalmente la ayuda me indica que los argumentos:


main, servir para poner un ttulo a la grfica
sub, para un subtitulo
xlab, para un ttulo al eje de las x
y lab, para un ttulo al eje de las y
Por ejemplo, a continuacin graficamos la funcin en puntos y lneas sobrepuestas
que como ttulo tenga Grfica de una funcin cuadrtica, como subttulo 2x^2
- 1, como etiqueta en el eje de las x eje x y como etiqueta en el eje de las y eje
y; y entonces observamos la grfica de la figura 2.10

> plot(x,y, type = "o",main="Grfica de una funcin cuadrtica",sub="2x^2-1",xlab="eje x",ylab="eje y")

21
Figura 2.10

2.4.2.Visualizacin de los valores de los comandos


Cuando ejecutamos un comando, ste puede darnos distintos resultados (o
valores) que son de inters para realizar algn tipo de anlisis, sin embargo hay
ocasiones en que de toda la gama de resultados que nos podra ofrecer cierto
comando, tal vez estemos interesados tan solo en 1 o 2. La informacin acerca de
cules son todos los posibles resultados que un comando puede ofrecer, incluida
las especificaciones de cada uno de ellos, se la puede visualizar en la ayuda help
(F1), dentro de la ventana 4, de la misma manera y en el mismo cuadro donde
aparecen los argumentos del comando (idntico a lo visto en la seccin 1.4.1), bajo
el subttulo Values. As entonces luego correr un cierto comando, ste por
defecto arrojar todos los resultados posibles, pero si despus del comando se
escribe el smbolo de dlar $, y a continuacin el nombre del valor que deseo que
aparezca, al mandar a correr, se visualizar nicamente la respuesta con el valor
que se escribi luego del smbolo $. Para aclarar lo dicho de una mejor manera a
continuacin se realiza un ejemplo:
Existe un comando llamado shapiro.test( ), que sirve para realizar una prueba
de hiptesis con el propsito de verificar si un grupo de datos proviene o no de una

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

A list with class "htest" containing the following components:

statistic the value of the Shapiro-Wilk statistic.

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".

data.name a character string giving the name(s) of the data.

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)

Shapiro-Wilk normality test

data: a
W = 0.9526, p-value = 0.6992

El nombre de la prueba (Shapiro-Wilk normality test), el vector del cual se hizo la


prueba (a), el estadstico de prueba (W = 0.9526), y el valor P (p-value = 0.6992);
es decir todos los que se muestra en los valores value del cuadro de ayuda.
Sin embargo si queremos visualizar nicamente el estadstico de prueba
escribimos:

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

Si queremos visualizar nicamente el valor p:

> a<-c(2,4,6,5,7,8,5,6,8,4)
> shapiro.test(a)$ p.value
[1] 0.6991811

O tal vez tan solo quisiramos saber el nombre de la prueba:

> a<-c(2,4,6,5,7,8,5,6,8,4)
> shapiro.test(a)$ method
[1] "Shapiro-Wilk normality test"

2.5. Los Paquetes en R


Un paquete o librera no es sino un conjunto de funciones o comandos
desarrollados, que tienen en comn que estn perfeccionados para resolver
problemas particulares, por lo que mediante su uso podemos obtener resultados
para necesidades especficas, segn sea el ambiente de trabajo o rea en la cual
nos estemos desenvolviendo. As por ejemplo si alguien estuviera trabajando en
una rama especfica de la estadstica como las grficas en el control estadstico de
calidad, la recomendacin sera instalar y activar el paquete qcc, el cual ofrece
comandos para realizar por ejemplo cartas de control, diagramas de Pareto,
clculo de lmites de control, etc y otros comandos que servirn especficamente
para esta especialidad, as dentro de esta librera encontramos el comando
pareto.chart(), el cul ser utilizado para dibujar diagramas de Pareto.
Dentro del computador los paquetes se descargan en una carpeta llamada
library, para visualizar el directorio de esta carpeta debemos ejecutar el comando
.libPaths() desde un script (ventana superior izquierda), e inmediatamente se
mostrar dicho directorio en la RConsole, tal como muestra la figura 2.11

24
Figura 2.11

Y de esta forma podemos saber que los paquetes instalados en el PC de nuestro


computador para R, los podemos encontrar en el directorio
"C:/ProgramFiles/R/R-3.1.2/library"
No es lo mismo instalar que activar un paquete.- Cuando instalamos R por
primera vez, se instalan por defecto un conjunto de paquetes tales como boot,
class, cluster, etc sin embargo el usuario de R puede instalar otros paquetes que
son aportes de investigadores para ciertas reas, principalmente relacionadas al
anlisis de datos. Para instalar un paquete, simplemente tenemos que entrar a la
opcin Install, que se encuentra en la ventana 3 del RStudio, y escribir el nombre
del paquete en el cuadro de dilogo que aparece (Figura 2.12), a continuacin clic
en Install del cuadro de dilogo, y el paquete quedar automticamente
instalado y se guardar en la carpeta library de su computador

25
Figura 2.12

Entonces, desde la pestaa packages de la ventana 4 del RStudio podemos


observar al paquete car el cual ya se encuentra en la lista. El usuario podr hacer
uso de los distintos comandos con los que cuenta este paquete solo si lo activa. La
manera de activarlo es muy sencillo, solo tiene que seleccionar el paquete y poner
visto en el cuadro a su izquierda (Figura 2.13)
Figura 2.13

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.6. Ingresando Informacin en R


2.6.1. Variables
Para asignar una variable, a cualquier objeto, utilizaremos el operador de
asignacin ->, o en sentido inverso <-. Es decir, si por ejemplo quisiramos
asignar el nmero 2 a una variable que la llamaremos x, deberamos escribir:

> 2 -> x

U otra opcin sera:

> x <- 2

En general, se suele trabajar, y es la forma como lo haremos en este texto con la 2


opcin.
Si queremos que se muestre lo que se asign a la variable debemos poner en una
lnea aparte el nombre de la variable y mandar a correr, entonces en la consola se
mostrar dicha asignacin

> 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

Cada una de las variables creadas se guardar en la pestaa Enviroment de la


ventana 2. As como el historial de los procesos que se corran se guardarn en la
pestaa History de la misma ventana.

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 <- c(3, 5, 6, 7, 8, 3, 4)

Si quisiramos encontrar por ejemplo el elemento en la 5 posicin de este vector,


que como podemos observar es el nmero 8, escribimos:

> x[5]
[1] 8

As mismo, en otra variable podramos asignar un vector, pero ahora con


elementos no numricos, como se muestra a continuacin:

29
> y <- c("Pablo","Anita","Rosita","Paco","Carmen","Josu","Isaac")
>y
[1] "Pablo" "Anita" "Rosita" "Paco" "Carmen" "Josu" "David"

Y de igual forma para poder acceder a un elemento de un vector, por ejemplo el


2, escribimos:

> y[2]
[1] "Anita"

Creando un vector que sea una secuencia de nmeros bajo un orden


establecido, esto lo podemos lograr a travs del comando seq( ). Por
ejemplo podramos interesarnos en generar una secuencia de nmeros
que empiecen desde el 1 y terminen en 9, en saltos de 1 en 1 (1 2 3 4 5 6 7 8
9), mediante:

> seq(1,9)
[1] 1 2 3 4 5 6 7 8 9

Otros ejemplos de sucesiones que nos podran interesar son:


- Generacin de una secuencia de nmeros impares empezando en 7 y
terminando en 21:

> seq(7,21,by=2)
[1] 7 9 11 13 15 17 19 21

- Generacin de una secuencia de nmeros que empiecen en 5 y


terminen en 1, en saltos de 0.5:

> 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

- Nmeros pares que empiecen en 10 y terminen en menos 10

> seq(10,-10,by= -2)


[1] 10 8 6 4 2 0 -2 4 -6 -8 -10

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

> x <- seq(10,-10,by= -2)


>x
[1] 10 8 6 4 2 0 -2 -4 -6 -8 -10
> x[7]
[1] -2

Pueda que en este caso no resulte significativo encontrar o filtrar trminos


que a simple vista los podramos hallar, sin embargo existe ocasiones
donde se trabajar con miles de datos y ser importante este tipo de
instrucciones
Con la funcin numeric( ), que crea un vector de ceros, tantas veces como
se le indique al argumento de este comando. Por ejemplo si quisiramos
crear un vector con 5 ceros, escribimos:

> 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.

> p <- matrix(data = c(2,7,8,4,7,1,6,8,1,5))


>p
[,1]
[1,] 2
[2,] 7
[3,] 8
[4,] 4
[5,] 7
[6,] 1
[7,] 6
[8,] 8
[9,] 1
[10,] 5

nrow Del grupo de datos ingresados, podemos notar que el nmero de


filas es el nmero de elementos que se ingresa, sin embargo si solo
deseamos que por ejemplo el nmero de filas sean 2, y que los dems datos

32
se encuentren repartidos por columnas, el argumento nrow, nos ayudar a
definir lo dicho:

> p <- matrix(data = c(2,7,8,4,7,1,6,8,1,5), nrow=2)


>p
[,1] [,2] [,3] [,4] [,5]
[1,] 2 8 7 6 1
[2,] 7 4 1 8 5

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

> p <- matrix(data = c(2,7,8,4,7,1,6,8,1,5), nrow=2, ncol=3)


Warning message:
In matrix(data = c(2, 7, 8, 4, 7, 1, 6, 8, 1, 5), nrow = 2, ncol = 3) :
data length [10] is not a sub-multiple or multiple of the
number of columns [3]
>p
[,1] [,2] [,3]
[1,] 2 8 7
[2,] 7 4 1

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

> p <- matrix(data = c(2,7,8,4,7,1,6,8,1,5), nrow=2, ncol=6)


Warning message:
In matrix(data = c(2, 7, 8, 4, 7, 1, 6, 8, 1, 5), nrow = 2, ncol = 6) :
data length [10] is not a sub-multiple or multiple of the
number of columns [6]
>p
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 2 8 7 6 1 2
[2,] 7 4 1 8 5 7

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.

> p <- matrix(data = c(2,7,8,4,7,1,6,8,1,5), nrow=2, ncol=5, byrow=TRUE)


>p
[,1] [,2] [,3] [,4] [,5]
[1,] 2 7 8 4 7
[2,] 1 6 8 1 5

Si quisiramos que los datos se ingresen ordenadamente por columnas, lo


nico que hacemos es asignar un valor lgico falso al argumento byrow, es
decir byrow = FALSE

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

dimnames Por defecto el nombre de las filas y columnas son nicamente


los nmeros enteros ordenados que corresponden, sin embargo cuando
queremos dar un nombre especfico como por ejemplo fila 1, fila2, o col1,
col2,. Utilizamos el agumento dimnames concatenando como una lista a
travs del comando list( )

> p <- matrix(data = c(2,7,8,4,7,1,6,8,1,5), nrow=2, ncol=5, byrow=FALSE, dimnames =


list(c("fila1","fila2"),c("col1","col2","col3","col4","col5")))
>p
col1 col2 col3 col4 col5
fila1 2 8 7 6 1
fila2 7 4 1 8 5

Dimensin de una matriz.- Para conocer la dimensin de una matriz


ingresada, lo hacemos con el comando dim( ), el cual nos da como resultado un
vector fila con 2 elementos, el primero de ellos indica el nmero de filas y el 2 el
nmero de columnas:

>p
col1 col2 col3 col4 col5
fila1 2 8 7 6 1
fila2 7 4 1 8 5
> dim(p)
[1] 2 5

A travs de este comando podemos convertir un vector en matriz: El


procedimiento es ingresar todos los datos que deseo que estn en la matriz como
un vector, a continuacin en el comando dim(x) asigno el nmero de filas y
columnas que se desea obtener mediante el comando de concatenacin c( ):

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

Anlogamente, si lo que queremos es filtrar toda una columna, escribimos dentro


del corchete el nmero de la columna que queremos filtrar en la posicin
correspondiente a columnas y dejamos en blanco la posicin correspondiente a
filas. Por ejemplo si en la matriz x queremos filtrar la 1 columna escribimos:

> 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

2.6.4. Operaciones Bsicas con Matrices y/o vectores


En realidad un vector no es sino una matriz de dimensiones 1 x p, e inclusive un
solo nmero se lo considera como una matriz de dimensin 1 x 1. Por tal motivo
las operaciones que a continuacin se detallan se consideran todas como
operaciones con matrices, suponindose que son vlidas para el caso ms
especfico como son los vectores o nmeros
Operaciones con una sola matriz:
Dentro de una misma matriz nos podra interesar, que entre sus elementos se
realicen operaciones bsicas, como por ejemplo la suma, el producto, la media, la
varianza, la raz cuadrada, el seno, coseno, o tangente de cada uno de sus
elementos, etc Los comandos que nos ayudan a realizar estas operaciones
bsicas son:
sum(x) Calcula la suma de todos los elementos de la matriz x
prod(x) Calcula el producto de todos los elementos de la matriz x
max(x) Calcula el mximo valor de entre todos los elementos de la
matriz x
min(x) Calcula el mximo valor de entre todos los elementos de la matriz
x
which.max(x) Devuelve la posicin del mximo valor de la matriz x
which.min(x) Devuelve la posicin del mnimo valor de la matriz x
range(x) Calcula el rango, es decir el valor mximo y el valor mnimo
length(x) Calcula el nmero de elementos que contiene la matriz x
mean(x) Calcula la media de todos los valores de la matriz x
median(x) Calcula la media de todos los valores de la matriz x

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

Operaciones con 2 matrices:


Cuando se desea hacer operaciones bsicas entre dos o en ocasiones ms de dos
matrices, los operadores lgicos y algunos comandos que nos ayudan son:
x + y Calcula la suma de cada par de elementos de las matrices x e y
respectivamente, que ocupan la misma posicin en ambas matrices
x - y Calcula la resta de cada par de elementos de las matrices x e y
respectivamente, que ocupan la misma posicin en ambas matrices
38
x * y Calcula el producto de cada par de elementos de las matrices x e y
respectivamente, que ocupan la misma posicin en ambas matrices
x/y Calcula el cociente de cada par de elementos de las matrices x e y
respectivamente, que ocupan la misma posicin en ambas matrices
x$*$y Calcula el producto matricial entre las matrices x e y

2.6.5. Ingresando una matriz de datos


La forma ms comn que existe en R para ingresar una matriz de datos, donde las
filas representan a los individuos, mientras que las columnas son las variables que
se miden sobre cada uno de estos individuos es con la funcin data.frame( ). Por
ejemplo si quisiramos ingresar la informacin que se encuentra en la tabla 1.1,
referente al peso (Kg), talla (cm) y sexo de 10 nios que acaban de nacer en un
hospital de la ciudad, los pasos a seguir son los siguientes:
Tabla 2.1 Informacin sobre recin nacidos

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

> peso <- c(3.6,3.2,2.8,3.6,2.7,2.8,2.7,3.0,3.1,3.4)


> talla <- c(46.5,44.1,48.1,46.4,41.1,41.8,41.0,42.3,42.5,43.1)
> sexo <-c("hombre","hombre","mujer","hombre","mujer","mujer","mujer","mujer","hombre","hombre")
> datos <- data.frame(peso,talla,sexo)
> 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

Si por ejemplo quisiramos ingresar una o ms variables adicionales (por


ejemplo tipo de parto) en la misma base de datos, volvemos a ingresar
dichas variables como un vector y luego utilizando el mismo comando
data.frame( ), colocamos en su argumento el nombre asignado a la base de
datos anterior ms la o las variables nuevas.

> parto <- c("normal","normal","normal","cesrea","cesrea","normal","normal","cesrea","cesrea","cesrea")


> datos <- data.frame(datos,parto)
> datos

peso talla sexo parto


1 3.6 46.5 hombre normal
2 3.2 44.1 hombre normal
3 2.8 48.1 mujer normal
4 3.6 46.4 hombre cesrea
5 2.7 41.1 mujer cesrea
6 2.8 41.8 mujer normal
7 2.7 41.0 mujer normal
8 3.0 42.3 mujer cesrea
9 3.1 42.5 hombre cesrea
10 3.4 43.1 hombre cesrea

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

Si queremos filtrar la matriz, de tal forma que me muestre la observacin


solo de hombres, procedemos de la siguiente forma:

> datos[datos$sexo=="hombre",]

peso talla sexo parto


1 3.6 46.5 hombre normal
2 3.2 44.1 hombre normal
4 3.6 46.4 hombre cesrea
9 3.1 42.5 hombre cesrea
10 3.4 43.1 hombre cesrea

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

Cuando queremos editar una matriz de datos lo podemos realizar directamente a


travs del comando edit( ), y al momento de cerrar la matriz de datos que se
muestra en la figura 2.14, automticamente la informacin editada se guardar

> edit(datos)

42
Figura 2.14

2.6.6. Importando una matriz de datos desde otro


tipo de archivo
Se puede importar una matriz de datos desde prcticamente todos los formatos de
datos como Excel (xlsx o xls), SPSS, MINITAB, ASCII, SQL, etc Lo nico que hay
que tomar muy en cuenta al momento de importar datos, es que estos se
encuentren almacenados en la ubicacin donde se est guardando el workspace.
Para conocer la ubicacin se digita el comando getwd( )

> 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)

Aunque como ya mencionamos se puede importar informacin desde cualquier


tipo de archivo, a continuacin analizaremos como hacerlo desde los dos ms
comunes que son documentos de texto .txt, documentos de Excel .xlsx, y de SPSS
.sav

Importando Desde Un Archivo De Texto .txt


Para importar desde esta forma de archivo podemos utilizar el comando
read.table( ), el cual posee muchos argumentos, los cuales solucionan los
distintos problemas que se podran presentar el momento de importar los datos.
A continuacin se explicar los argumentos ms importantes de este comando:
read.table(file, header = , sep=, dec = ,)
file.- aqu se escribe el nombre del archivo que se desea importar
header.- se escribe un valor lgico verdadero o falso, escribiremos TRUE
cuando en el archivo de datos la primera columna corresponda al nombre
de las variables, caso contrario se escribe FALSE
sep.- se debe especificar cul es el separados de una variable a otra, que por
lo general suele ser un espacio , pero tambin podra ser un punto., una
coma,, etc
dec.- Es el carcter que se usa en el archivo que se desea importar para
separar los decimales que puede ser . , etc
row.names.- Sirve para dar nombre a las filas ingresadas como un vector
col.names.- Sirve para dar nombre a las columnas ingresadas como un
vector
Por ejemplo en el directorio C:/Usuarios/Pablo Flores/Mis documentos de mi
computadora se encuentra una matriz de datos en un archivo de texto, que
contiene las variables cantn edad, sexo y nmero de habitantes medidas sobre
260 individuos, y se encuentran sin rtulos en las columnas; el archivo se
denomina Datos_Poblacion.txt, entonces para importar esta matriz prosigo

44
a <- read.table("Datos_Poblacion.txt", header = F,col.names=c("cantn","edad","sexo","habitantes"))
View(a)

Entonces luego de asignar a la matriz la letra a, con el comando View(a) puedo


visualizar la matriz de datos importada
Tabla 2.2

la tabla contina hasta el


individuo 260

Para editar la matriz de datos importada, filtrar algunas variables o determinar


frecuencias, se puede considerar a la matriz importada como un data.frame y darle
el mismo tratamiento ya aprendido en estos casos

Importando Desde Un Archivo De Excel .xlsx


La forma ms sencilla de hacerlo es guardando el archivo de excel como formato
.csv (separador de comas), en el directorio y utilizar la funcin read.csv( )

a <- read.csv(Nombre_del_Archivo.csv)

Sin embargo existen otros mtodos de hacerlo por ejemplo:


- Instalando y activando el paquete RODBC, y utilizando los
comandos odbcConnectExcel( ) y sqlFetch( )
- Instalando y activando el paquete xlsx, y utilizando el comando
read.xlsx

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)

Importando Desde Un Archivo De MATLAB .mat


Previamente necesitamos instalar el paquete R.matlab, y adems hay que tener
en cuenta que el archivo creado en MATLAB y que se desea abrir con R debe estar
guardado en el directorio que muestra el software mediante el comando
system.file( ):

system.file("mat-files", package="R.matlab")
[1] "C:/Program Files/R/R-3.1.2/library/R.matlab/mat-files"

A continuacin utilizaremos el comando matRead( ), de la forma que sigue:


Asignamos a una variable cualquiera la ubicacin de la carpeta donde se
deben guardar los archivos que se creen de MATLAB (como ya habamos
dicho esta ubicacin se la encuentra con el comando system.file)

> Directorio <- system.file("mat-files", package="R.matlab")


> Directorio
[1] "C:/Program Files/R/R-3.1.2/library/R.matlab/mat-files"

Asignamos a otra variable cualquiera el nombre del archivo de MATLAB


que guardamos en el directorio antes descrito, esto lo hacemos mediante
el comando file.path( ), en cuyo primer y segundo argumento obligatorios
escribimos el directorio, y el nombre del archivo que queremos abrir con
la extensin .mat respectivamente

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"

Finalmente, en otra variable cualquiera leemos la matriz de datos de


MATLAB, mediante el comando matRead( ), cuyo argumento es el
nombre de la variable anterior, donde se guard el nombre del archivo que
se quiere importar (para nuestro caso Nombre):

> data <- readMat(Nombre)


> data

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"

Como podemos observar en la variable datos se muestran las tres matrices


importadas desde MATLAB. Finalmente si queremos visualizar una por una, solo
tenemos que filtrarlas:

48
> X <- datos$X
>X
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 4 6 7
[3,] 8 10 11

> Y <- datos$Y


>Y
[,1]
[1,] 11
[2,] 21
[3,] 31
[4,] 41
[5,] 51

> Z <- datos$Z


>Z
[,1] [,2]
[1,] 1 2
[2,] 0 1
[3,] 3 5

2.6.7. Matrices de Datos en R


R por defecto tiene matrices de datos, las cuales estn formadas por variables
cuantitativas y/o cualitativas, y que pueden ser de ayuda para practicar diversas
tcnicas con ellas.
Para saber cules son las matrices de datos existentes, procedemos a escribir el
comando data( ), el cual desplegar una lista de todas las matrices existentes en
la memoria dentro de una pestaa llamada R Data Sets:

>data( )

Data sets in package datasets:

AirPassengers Monthly Airline Passenger Numbers


1949-1960
BJsales Sales Data with Leading Indicator
BJsales.lead (BJsales) Sales Data with Leading Indicator
BOD Biochemical Oxygen Demand
CO2 Carbon Dioxide Uptake in Grass
Plants

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

Use data(package = .packages(all.available = TRUE))


to list the data sets in all *available* packages.

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

3.2. El entorno de MATLAB


El entorno de MATLAB, tiene la apariencia que se muestra en la figura 2.1, en el
cual se muestran tres ventanas que son las principales Commnad Window,
Workspace y Command History. En realidad existen otras ventanas que
son muy importantes y de una gran utilidad, sin embargo no se hablar de ellas ya
que lo nico que nos interesa en este software es conocer y utilizar correctamente
los comandos necesarios para los diversos anlisis de datos que se abordar en los
captulos siguientes, para lo cual es necesario nicamente utilizar las ventanas
que se mencion.
Figura 3.1

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

(2) En la ventana Workspace, se guardarn todas las variables que


se introduzcan, as como los diferentes resultados
(3) En la ventana Comand History, se guardarn todos los
comandos que se hayan utilizado, incluso especificados segn la fecha
de utilizacin
La ventana 1 Command Window, es la ms importante de todas, y es la que se
utilizar en el presente texto, puesto que desde esta ventana podremos introducir
la informacin que tengamos disponible, visualizar los resultados deseados,
obtener ayuda acerca del funcionamiento de algn objeto, etc.

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

>> x = 0:0.5:500; % al poner ; no se visualiza el resultado


>> mean(x) % Calcula la media del vector x

ans =
250 % Respuesta de la operacin

Es importante recalcar que aunque no lo haremos en el presente texto, dentro de


MATLAB, podemos realizar programacin para desarrollar modelos, funciones o
incluso crear objetos que nos ayuden a resolver ciertas necesidades, esto se lo
puede hacer en la ventana de Scripts. El uso de esta ventana es una herramienta
potente de este software, puesto que al enlazar los objetos existentes o creados por
el usuario, construimos modelos, y para ejecutarlos basta llamarlos desde el
Comand Window, y como ya habamos dicho los resultados se mostrarn en esta
misma ventana.

3.3. Los Comandos en MATLAB


El software MATLAB, posee comandos que son tiles para resolver muchos
problemas que se pueden suscitar en el campo de la ingeniera, principalmente
problemas matemticos, de simulacin y por supuesto dentro de ellos problemas
estadsticos, y aunque este no es un software estadstico, posee muchos objetos
que nos ayudan a realizar clculos en este tpico.
Para visualizar los distintos tpicos o campos en los que el software tiene
comandos especializados, simplemente escribimos la palabra help en la ventana
de comandos y despus de ejecutarla (nicamente ENTER), se despliega en la
misma pantalla todos los tpicos en los que MATLAB posee comandos. Son ms
de 400 tpicos o reas en los que el software puede contribuir, por cuestiones de
espacio a continuacin solo se muestran un poco de ellos.

54
>> help
HELP topics:

sldo\sldoguis - (No table of contents file)


sloptim\sloptim - (No table of contents file)
sloptim\sloptguis - (No table of contents file)
sloptim\sloptobsolete - (No table of contents file)
slestim\slestguis - (No table of contents file)
slestim\slestim - (No table of contents file)
slestim\slestmex - Simulink Design Optimization Estimation S-Function MEX-files.
slestim\slestutil - (No table of contents file)
sldo\sldodemos - Simulink Design Optimization Demos.
sldodemos\optim - (No table of contents file)
sldodemos\estim - (No table of contents file)
sldo\examples - (No table of contents file)
sldv\sldv - Simulink Design Verifier
sldv\sldvdemos - (No table of contents file)
slvnv\slvnvdemos - (No table of contents file)
slvnv\rmidemos - (No table of contents file)
slvnv\simcovdemos - (No table of contents file)
iodata\iomap - (No table of contents file)
simulink\upgradeadvisor - (No table of contents file)
stats\stats - Statistics Toolbox
stats\classreg - (No table of contents file)
stats\statsdemos - Statistics Toolbox --- Demos
stm\stm - Simulation and Test Manager
symbolic\symbolic - Symbolic Math Toolbox
symbolic\symbolicdemos - (No table of contents file)
systemtest\systemtest - SystemTest
systemtest\systemtestdemos - SystemTest demonstrations and examples.
intelhost\tfl - (No table of contents file)
foundation\utils - (No table of contents file)

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.

Probability density functions (pdf).


betapdf - Beta density.
binopdf - Binomial density.
chi2pdf - Chi square density.
evpdf - Extreme value density.
exppdf - Exponential density.
fpdf - F density.
gampdf - Gamma density.
geopdf - Geometric density.
gevpdf - Generalized extreme value density.
gppdf - Generalized Pareto density.
hygepdf - Hypergeometric density.
lognpdf - Lognormal density.
mnpdf - Multinomial probability density function.
mvnpdf - Multivariate normal density.
mvtpdf - Multivariate t density.
nbinpdf - Negative binomial density.
ncfpdf - Noncentral F density.
nctpdf - Noncentral t density.
ncx2pdf - Noncentral Chi-square density.
normpdf - Normal (Gaussian) density.
pdf - Density function for a specified distribution.
poisspdf - Poisson density.
raylpdf - Rayleigh density.
tpdf - T density.
unidpdf
56
- Discrete uniform density.
unifpdf - Uniform density.
wblpdf - Weibull density.
Por cuestiones de espacio solo se muestran los comandos existentes en el campo
de estimacin de parmetros, y funciones de densidad de probabilidad, sin
embargo el software posee un sin nmero de comandos para otros campos de la
estadstica tales como:
Distribuciones acumuladas de probabilidad
Valores crticos de las distribuciones de probabilidad
Generacin de nmeros aleatorios
Estadsticos (en general)
Estadsticos Descriptivos
Anlisis de Varianza
Regresin Lineal
Regresin no lineal
Grficas de regresin
Diseo de experimentos
Procesos de control estadstico de calidad
Anlisis de Clster
Tcnicas de reduccin de la dimensin
Grficos estadsticos
Mtodos Multivariados
rboles de decisin
Pruebas de hiptesis
Funciones no paramtricas
Procesos de Markov
Etc
Note que hasta ahora no conocemos como funciona un comando en particular, es
decir no conocemos cules son los argumentos necesarios ni los resultados que
este producir. Para conocer especficamente el comando solo tenemos que
ejecutar help, seguido del comando, e inmediatamente se podr visualizar la ayuda
disponible para dicho objeto, y en la gran mayora de casos inclusive un
documento de ayuda donde no solo explica la forma de usar el comando, sino que

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

>> help normpdf


normpdf Normal probability density function (pdf).
Y = normpdf(X,MU,SIGMA) returns the pdf of the normal distribution with
mean MU and standard deviation SIGMA, evaluated at the values in X.
The size of Y is the common size of the input arguments. A scalar
input functions as a constant matrix of the same size as the other
inputs.

Default values for MU and SIGMA are 0 and 1 respectively.

See also normcdf, normfit, norminv, normlike, normrnd, normstat.

Reference page in Help browser


doc 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

3.4. Ingresando Informacin en MATLAB


3.4.1. Variables
Para asignar algn objeto a una variable, los hacemos mediante el smbolo de
igualdad, y a continuacin con un ENTER, se guardar el objeto en la variable
asignada y adems se mostrar en la misma pantalla. Por ejemplo si queremos
asignar el nmero 7 a la variable a

>> 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

Al ejecutar objetos en las variables asignadas, estos automticamente se guardan


dentro de la memoria del computador, de tal forma que si en adelante se desea
ejecutar alguna operacin entre ellos simplemente se los vuelve a llamar y
enlazarlos mediante el operador correspondiente. Por ejemplo realizamos una
operacin muy sencilla que consiste en asignar a 2 variables (x e y) 2 nmeros
diferentes (3 y 4) y luego almacenar su suma (7) en una nueva variable R:

59
>> x = 3
x=
3

>> y = 4
y=
4

>> R = x + y
R=
7

Note sin embargo que lo que verdaderamente nos interesa visualizar es el


resultado final de la suma, y no es tan importante observar los sumandos, ya que
esto parece repetitivo e incluso resulta incmodo. La forma para que no se
visualicen estos nmeros pero que si se guarden en la memoria interna para luego
realizar la operacin es escribiendo el smbolo de punto y coma ; despus de
escribir la variable

>> 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=

20 15 10 5 0 -5 -10 -15 -20

Cuando no existe el nmero intermedio, por defecto el software genera la


serie con saltos de uno en uno entre los dos lmites que se declaren, as por
ejemplo si quisiramos una serie de nmeros del -5 al 5, en saltos de uno,
no ser necesario declarar este salto, sino tan solo los lmites de la serie:

>> x = -5:5

x=

-5 -4 -3 -2 -1 0 1 2 3 4 5

Creando directamente el vector, esto es escribiendo los elementos de dicho


vector dentro de corchetes, separados por un espacio o por una coma
(cualquiera de las dos opciones es vlida).

>> 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

Para insertar uno o ms elementos adicionales al vector debemos volver a


declarar el nombre del vector y colocar entre corchetes nuevamente el

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

Si lo que queremos es encontrar un elemento del vector, que est ocupando


cierta posicin especfica, lo que haremos es escribir el nombre de un
vector seguido de parntesis dentro de los cuales escribiremos el ndice de
la posicin, por ejemplo en nuestro vector si quisiramos encontrar cul es
el elemento que ocupa la tercera posicin:

>> x(3)

ans =

Si lo que quisiramos no es visualizar el tercer elemento sino eliminarlo


escribimos:

>> x(3) = [ ]

x=

7 3 4 6 1 2 8

Para visualizar el vector como columna, nicamente separamos los


elementos con ; (punto y coma)

62
>> x = [7;3;5;4;6;1]

x=

7
3
5
4
6
1

Para ingresar en vector de caracteres, lo hacemos poniendo cada caracter


entre comillas simples, y en lugar de encerrar la informacin entre
corchetes lo hacemos entre llaves. Por ejemplo ingresemos un vector de
nombres:

>> n = {'Pablo', 'Isaac', 'Anita', 'Javier'}

n=

'Pablo' 'Isaac' 'Anita' 'Javier'

3.4.3.Operaciones Bsicas con Vectores


Lo que mostraremos a continuacin es una lista de comandos, mediante los cuales
se pueden realizar operaciones entre los elementos que contiene un vector y entre
vectores
length(x) Devuelve el nmero de datos del vector x
max(x) Devuelve el mximo valor existente en el vector x
min(x) Devuelve el mnimo valor existente en el vector x
[t,p] = max(x) Devuelve el mximo valor existente y su posicin
[t,p] = min(x) Devuelve el mnimo valor existente y su posicin
ismember(valor,x) Determina si el valor escrito pertenece al vector x, el
resultado ser 1 si la respuesta es verdadera o 0 si es falsa
sum(x) Calcula la suma de los elementos del vector x
cumsum(x) Calcula la suma acumulada de los elementos del vector x
prod(x) Calcula el producto de los elementos del vector x

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

Utilizando ciertos comandos para formar matrices especiales:


Con el comando ones( ), 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 = 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

Con el comando magic( ), el cual crea una matriz cuadrada cuya


dimensin se la indica en el argumento del comando, y cuyos elementos
estn formados por los nmeros que empiezan desde el 1 hasta el cuadrado
del argumento ingresado distribuidos de forma aleatoria

>> X = magic(4)

X=

16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1

Con el comando rand( ), en cuyo argumento se debe escribir el nmero


de filas seguido por el nmero de columnas, y forma una matriz que tiene
como elementos nmeros aleatorios

66
X = rand(3,5)

X=

0.8147 0.9134 0.2785 0.9649 0.9572


0.9058 0.6324 0.5469 0.1576 0.4854
0.1270 0.0975 0.9575 0.9706 0.8003

3.4.5. Operaciones con matrices


Los comandos que se analizaron para realizar operaciones con vectores sirven de
la misma forma para el caso de las matrices, sin embargo existen unos pocos
comandos ms que veremos a continuacin, los cuales por su naturaleza sirven
solo para el caso de matrices:
size(X) Muestra la dimensin (filas y columnas) de una matriz X
trace(X) Calcula la traza de la matriz X
det(X) Calcula el determinante de la matriz X
inv(X) Calcula la matriz inversa de X
diag(X) Calcula el vector con la diagonal de la matriz X
tril(X) calcula la matriz triangular inferior de X
triu(X) calcula la matriz triangular superior de X
Cuando se desee editar una matriz, la manera ms sencilla de hacerlo es dando
doble click sobre el nombre de dicha matriz, la cual aparece en la ventana
Workspace, e inmediatamente aparecer una especie de hoja electrnica a travs
de la cual se puede editar la informacin

3.4.6. Importando una matriz de datos desde otro


tipo de archivo
Importando desde un archivo de texto .txt o de Excel .xlsx
Los tipos de archivos que son ms comunes para importar a MATLAB son los
archivos de texto .txt, y las hojas electrnicas de Excel .xlsx. Existen comandos que
sirven para realizar esta tarea, sin embargo es mucho ms sencillo utilizar la
opcin de importar texto que se encuentra en la barra de tareas del software.

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'

Si desea observar toda la matriz de datos, simplemente escribimos una matriz


cuyos elementos son los nombres de las variables que se encuentran en el
Workspace:

69
>> X = [Nio,Peso,Talla]

X=

1.0000 3.6000 46.5000


2.0000 3.2000 44.1000
3.0000 2.8000 48.1000
4.0000 3.6000 46.4000
5.0000 2.7000 41.1000
6.0000 2.8000 41.8000
7.0000 2.7000 41.0000
8.0000 3.0000 42.3000
9.0000 3.1000 42.5000
10.0000 3.4000 43.1000

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

A lo cual antes de buscarla deber borrar una de las lneas:


C:\Users\AppDat\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:

> library(R.matlab) # Activamos la librera R.matlab


> datos <- BOD # Asignamos a la variable datos la base
> filename <- paste(tempfile(), ".mat") # Pegamos la base en un archivo temporal
> writeMat(filename, datos=datos)
> filename # Imprimimos el directorio creado
[1] "C:\\Users\\Pablo\\AppData\\Local\\Temp\\RtmpwpmriB\\file11401e826214 .mat"

A continuacin pegamos este directorio desde cualquier buscador de carpetas en


Windows, sin olvidar borrar la lnea oblicua:

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 =

Time: [6x1 double]


demand: [6x1 double]

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

O si queremos visualizar la matriz de datos completa:

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:

Se puede definir a un dato como la informacin recolectada o medida, acerca de


una propiedad que tiene un sujeto u objeto, por medio de algn plan de
muestreo. Por ejemplo nos podramos interesar en conocer el peso, la estatura, el
sexo y la nacionalidad (propiedades) de un grupo de 30 estudiantes de una
Universidad (sujetos); en este caso los sujetos son considerados las unidades de
anlisis sobre los cuales vamos a medir las propiedades ya descritas, y por medio
de aquello recopilar la informacin.
En el ejemplo dado, las propiedades (peso, estatura, sexo y nacionalidad) en
realidad son las variables de inters en el estudio estadstico y los datos vienen
a ser los distintos valores que pueden tomar estas variables, es as que los datos se
pueden clasificar de acuerdo al tipo de variable de la que fueron tomados:

4.1.1. Clasificacin de los datos


Los datos, de acuerdo a la variable estadstica de la cual provienen pueden ser de
tipo cuantitativo o cualitativo
Datos de tipo cuantitativo.- Son valores numricos medidos sobre las
unidades de anlisis, por ejemplo el peso, la estatura, la edad, el caudal,
temperatura, etc Los datos cuantitativos pueden ser de tipo discreto o continuo

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

Es importante tener en cuenta que aunque en algunos casos se pueden asignar


nmeros a los datos de una variable cualitativa (Por ejemplo en sexo se puede
asignar el nmero 0 para mujeres y el nmero 1 para hombres), esto no pasa de
ser una codificacin, y no tiene ningn sentido o significado realizar algn tipo de
operacin con estos nmeros, por ejemplo al sacar la media me dar un nmero
comprendido entre 0 y 1 que carecer de significado. Contrario a esto en las
variables de tipo cuantitativo (Por ejemplo estatura), es posible realizar
operaciones como por ejemplo encontrar una media aritmtica.

Reconociendo el tipo de datos con ayuda del software


Tomemos como ejemplo la pequea base de datos de la tabla 2.1 que tiene 3
variables (peso, talla y sexo), medido sobre 10 individuos. Recordemos que a esta
base de datos la habamos llamado Datos4, por lo que este ser el nombre con la
que la ingresaremos. Como nos damos cuenta los datos resultan de las

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

y <- datos$peso # filtramos la variable peso en una nueva "y"


[1] 3.6 3.2 2.8 3.6 2.7 2.8 2.7 3.0 3.1 3.4

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"

Podemos as observar que la variable sexo, contiene datos de tipo cualitativo


(character), pero adems cuando se filtra la variable nos permite observar las
categoras que tiene la variable (hombre, mujer)

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

Frecuencia Absoluta Acumulada.- Se denomina frecuencia absoluta


acumulada Ni del i-simo dato, al nmero de observaciones menores o
iguales a dicho valor. Por lo que se verifica que:
N1 = n1, N2 = n1 + n2, Ni = n1 + n2 + + ni.
Frecuencia Relativa.- Se denomina frecuencia relativa fi del i-simo
dato a la proporcin que representa su respectiva frecuencia absoluta
dentro de todo el conjunto de observaciones. Matemticamente queda
definido como:

= ; 0 1

La sumatoria de todas las frecuencias relativas cubrir el 100% de las
observaciones

79

= 1
=1

Frecuencia Relativa Acumulada.- Se denomina frecuencia relativa


acumulada Fi del i- simo dato, a la proporcin de la informacin que es
menor o igual a dicho dato. Por lo que se verifica que:
F1 = f1, F2 = f1 + f2 Fi = F1 + F2 +. + Fi
Se debe cumplir por tanto que la ltima frecuencia relativa acumulada
debe ser igual al 100%

4.2.1. Tablas de Frecuencias


Se trata de una tabla donde se describe la informacin recolectada mediante el
anlisis de frecuencias. Consta de 5 columnas; en la 1 se colocan los datos
ordenados de menor a mayor sin repeticin, en la 2 columna se escribe la
frecuencia absoluta de los datos, la 3 es para las frecuencias absolutas
acumuladas, la 4 para las frecuencias relativas y la 5 para las frecuencias
relativas acumuladas.

Frecuencia Frecuencia absoluta Frecuencia Frecuencia Relativa


Datos
absoluta acumulada Relativa Acumulada
xi ni Ni fi Fi
x1 n1 N1 = n 1 f1 = n1/N F1 = f 1
x2 n2 N2 = n1 + n2 f2 = n2/N F2 = f 1 + f 2
. . . . .
. . . . .
. . . . .
xh nh Nh = n1+n2+ +nh = N fh = nh/N Fh = f1+f2+ +fh = 1
TOTAL N

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

Podemos entonces observar que en los 32 automviles existen 1, 2, 3, 4, 6


y hasta 8 carburadores, y que por ejemplo existen 7 autos con un
carburador, 10 con 2 carburadores, etc Adems para cada uno de los
datos se puede observar las frecuencias relativas. Ambas frecuencias se
puede comprobar cumplen con las propiedades descritas al inicio, as la
suma de todas las frecuencias absolutas es igual al nmero de datos que
tiene la variable (32), y la suma de las frecuencias relativas es igual a 1.

MATLAB posee el comando tabulate( ), con el cual podemos determinar


la frecuencia absoluta y relativa de un conjunto de datos, y el comando
cumsum( ), el cual nos ayudar a calcular las frecuencias absolutas y
relativas acumuladas:

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

4.2.3.Grficas para representar frecuencias de datos


simples:
Las grficas ms comunes que se utilizan para describir las frecuencias de datos
son: Grfico de pastel y Grfica de Barras. A continuacin vamos a mostrar los
comandos respectivos tanto en R como en MATLAB para realizar estos grficos
tomando como base los datos y los resultados del Ejemplo 4.1

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."))

Grfica 4.1. Salida En R De Un Diagrama De Pastel

Adems podemos realizar el grfico de pastel 3D mediante el comando pie3D( ),


para lo cual debemos previamente instalar y activar el paquete plotrix

> 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."))

Grfica 4.2 Salida En R De Un Diagrama De Pastel en 3D

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

>> 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);
>> fa = f(1:8,2)'

fa =
7 10 3 10 0 1 0 1
>> pie (fa)

85
Grfica 4.3 Salida En MATLAB De Un Diagrama De Pastel

Grfica de pastel de frecuencias


3% data1
3%
2 carb
22% 3 carb
4 carb
6 carb
8 carb

31%

31%

9%

Si el grfico lo queremos hacer en 3D utilizamos la misma dinmica con el


comando pie3( )

>> 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);
>> fa = f(1:8,2)'

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

Grfica de Pastel en 3D de las frecuencias

3%
3% 1 carb
31%
2 carb
22% 3 carb
4 carb
6 carb
8 carb

9%

31%

Es importante recalcar que la edicin (ttulo, etiquetas, etc...) de los grficos en


MATLAB, se lo puede realizar desde la ventana de grficos en forma manual con
todas las opciones que ah se proporcionan.

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")

Grfica 4.5 Salida en R de un Diagrama de barras

En MATLAB el comando es bar( ), que de igual forma el argumento


principal es el vector de datos de frecuencia, pudiendo editarse este grfico
utilizando los dems argumentos para el comando, o directamente desde
la ventana de editior de grficos en donde este aparece

>> 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);
>> fa = f(1:8,2)';
>> bar(fa)

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

> d <- s[,-1]


> m <- d[,-3]
> names(m)<-gsub("Freq","Frec_abs",names(m))
> names(m)<-gsub("y","Frec_abs_acum",names(m))
> names(m)<-gsub("Frec_abs.1","Frec_rel",names(m))
> names(m)<-gsub("t","Frec_rel_acum",names(m))
>m
Frec_abs Frec_abs_acum Frec_rel Frec_rel_acum
casein 12 12 0.1690141 0.1690141
horsebean 10 22 0.1408451 0.3098592
linseed 12 34 0.1690141 0.4788732
meatmeal 11 45 0.1549296 0.6338028
soybean 14 59 0.1971831 0.8309859
sunflower 12 71 0.1690141 1.0000000
> library(plotrix)
> barplot(x)
> pie3D(t,radius = 2,main="Grfica de pastel para las frecuencias relativas")

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.

>> tabulate(feed) %Calcula la frecuencia relativa y acumulada


Value Count Percent
horsebean 10 14.08%
linseed 12 16.90%
soybean 14 19.72%
sunflower 12 16.90%
meatmeal 11 15.49%
casein 12 16.90%

>> x = tabulate(feed); % Asignamos la tabulacin a una matriz


>> f.abs = [x{:,2}]; %Filtramos la 2 columna que en nuestro caso es la frecuencia absoluta
>> frec_abs_acm = cumsum(f.abs) % Esto nos permite calcular la frecuencia absoluta acumulada
frec_abs_acm =

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

Grfica de barras de las frecuencias relativas


14

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

Grfica de pastel de las frecuencias relativas

17% horsebean
linseed
soybean
15%
sunflower
14% meatmeal
casein

17%
17%

20%

Diagrama de tallo y hojas


Este diagrama muestra los datos de una forma ordenada ascendente, donde en los
llamados tallos, se colocan los principales dgitos o cifras del dato, y en las

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

> stem(x = attitude$rating,scale = 1)

The decimal point is 1 digit(s) to the right of the |

4 | 033
4|8
5 | 003
5|8
6 | 13344
6 | 5567789
7 | 1124
7 | 78
8 | 112
8|5

4.2.4. Anlisis de Frecuencias para datos agrupados


Cuando una variable posee una gran cantidad de datos, y adems las categoras o
distintos datos son muchos, es conveniente agrupar esta informacin por
intervalos y determinar la frecuencia o repitencia de datos que existe dentro de
dicho intervalo. Se suele utilizar con mayor frecuencia este anlisis en variables de
tipo cuantitativas continuas.

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>>.

> datos <- BJsales


> fa <- hist(datos,plot = F)
> fa

$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"

El valor <<$breaks>> es un vector que indica los lmites de los intervalos


creados por defecto en el software, en este caso lo que hace es un clculo
interno para crear estos intervalos. Como se puede apreciar los 8 intervalos
que por defectos se crearon son:

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:

> datos <- BJsales


> a <- c(198.6,206.6,214.7,222.8,230.9,239,247.1,255.2,263.3)
>a
[1] 198.6 206.6 214.7 222.8 230.9 239.0 247.1 255.2 263.3
> fa <- hist(datos,breaks = a,plot = F)$counts
> fa
[1] 15 34 34 6 3 5 16 37

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)

Intervalos frec_abs frec_abs_ac frec_rel frec_rel_ac


1 198.6-206.6 15 15 0.10000000 0.1000000
2 206.7-214.7 34 49 0.22666667 0.3266667
3 214.8-222.8 34 83 0.22666667 0.5533333
4 222.9-230.9 6 89 0.04000000 0.5933333
5 231.0-239.0 3 92 0.02000000 0.6133333
6 239.1-247.1 5 97 0.03333333 0.6466667
7 247.2-255.2 16 113 0.10666667 0.7533333
8 255.3-263.3 37 150 0.24666667 1.0000000

Haciendo el ejercicio en MATLAB


Para calcular las frecuencias de datos agrupados en MATLAB, previamente
debemos crear un vector con las marcas de clase5 de cada intervalo.
Para obtener la frecuencia para datos acumulados utilizaremos el comando
hist( ), que en realidad sirve para realizar un histograma, pero cuando se
asigna este comando a una variable cualquiera, calcula las frecuencias
absolutas asociadas a cada intervalo correspondiente a su marca de clase;
en el argumento adems de poner los datos ponemos un vector con las
marcas de clase, en caso de que el usuario desee definir sus propios
intervalos, caso contrario el software lo calcular automticamente:

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

Como podemos observar cada nmero resultante es la frecuencia absoluta


asociada a cada intervalo planteado en un principio. Para obtener toda la
tabla de frecuencias escribimos el siguiente cdigo:

>> 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); %% Clculo de frecuencias absolutas
>> frec_abs_ac = cumsum(frec_abs); %% Clculo de frecuencias absolutas acumuladas
>> frec_rel = frec_abs/150; %% Clculo de frecuencias relativas
>> frec_rel_ac = cumsum(frec_rel); %% Clculo de frecuencias relativas acumuladas
>> tabla = [frec_abs;frec_abs_ac;frec_rel;frec_rel_ac]'

tabla =

15.0000 15.0000 0.1000 0.1000


34.0000 49.0000 0.2267 0.3267
34.0000 83.0000 0.2267 0.5533
6.0000 89.0000 0.0400 0.5933
3.0000 92.0000 0.0200 0.6133
5.0000 97.0000 0.0333 0.6467
16.0000 113.0000 0.1067 0.7533
37.0000 150.0000 0.2467 1.0000

4.2.5. Grficas para representar frecuencias de datos


agrupados
Al igual que para datos simples, las frecuencias de datos agrupados se las puede
representar en un grfico de pastel, cuyo procedimiento para su construccin ya
se indic. Sin embargo existen otras grficas que son interesantes al momento de
representar las frecuencias de los datos para datos agrupados, entre ellas tenemos:

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:

datos <- BJsales


a <- c(198.6,206.6,214.7,222.8,230.9,239,247.1,255.2,263.3)
hist(datos,breaks = a,plot = T,freq = T,main = "Histograma de BJSales")

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:

> datos <- BJsales


> a <- c(198.6,206.6,214.7,222.8,230.9,239,247.1,255.2,263.3) # lmite de los intervalos creados
> frec_abs <- hist(datos,breaks = a,plot = F)$counts # frecuencias absolutas
> mc = c(202.6,210.7, 218.8, 226.9, 235, 243.1, 251.2, 259.3) # marcas de clase
> hist(datos,breaks = a,plot = T,freq = T,main = "Histograma de BJSales") #histograma
> lines(x = c(min(a),mc,max(a)),y = c(0,frec_abs,0),col="red") # polgono
> title(sub = "Polgono de Frecuencia") # agrego un subttulo al grfico

Grfica 4.13 Salida en R de un Polgono de frecuencias para representar datos agrupados

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

La grfica resultante es:


Grfica 4.14 Salida en MATLAB de un Polgono de frecuencias para representar datos agrupados

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:

>> d = datos; % Exporto los datos


>> mc = [195, 205, 215, 225, 235, 245, 255, 265]; % Marcas de clase o puntos medios
>> f_rel = hist(d,mc)/150; % Frecuencias relativas
>> f_rel_ac = cumsum(f_rel); % Frecuencia Relativa Acumulada
>> x = [190, 200, 210, 220, 230, 240, 250, 270,280]; %Establezco un dominio para la grfica cuyos
valores son los extremos de los intervalos basndome en las marcas de clase definidas en mc
>> y = [0, f_rel_ac,1]; %Establezco el rango de la grfica, esto es los valores de las frecuencias
relativas acumuladas, agregando en los extremos el 0 y el 1
>> plot(x,y,'o') % Hacemos un grfico de puntos
>> hold on % Sobrescribir otro grfico encima
>> plot(x,y) % Dibujamos las lneas por encima de los puntos
>> grid on % Dibujamos la cuadrcula

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.

4.3. Anlisis Bivariado de Frecuencias


En la seccin 4.2, lo que hicimos fue realizar un estudio con el fin de analizar las
frecuencias para un grupo de datos de una sola variable. A diferencia de esto en la
presente seccin estudiaremos como analizar la frecuencia de dos grupos de datos,
que lgicamente se encuentran dentro de dos distintas variables.
De igual manera que para el anlisis univariado de frecuencias se puede calcular
las frecuencias absolutas, relativas y acumuladas de cada una de las dos variables
por separado, la diferencia est en la forma de representar estas frecuencias. Las
tablas que utilizamos para realizar esta representacin son las denominadas
Tablas de Contingencia.

4.3.1. Tablas de Contingencia


Llamadas tambin tablas de doble entrada, son aquellas donde se representa la
frecuencia cruzada de dos variables X e Y. Donde por filas se define las categoras
de la primera variable, por columnas las categoras de la segunda variable, y los
datos con los que se rellena esta tabla son las frecuencias cruzadas:
X
X1 X2 Xn SUMA
Y1 f11 f12 f1n f1.
Y2 f21 f22 f2n f2.
. . . . . .
Y
. . . . . .
. . . . . .
Ym fm1 fm2 fmn
SUMA f.1 f.2 f.n f..

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

Las tablas de contingencia se pueden construir tanto para datos cuantitativos


como para cualitativos, pero en el caso cuantitativo se recomienda la agrupacin
por intervalos, sobre todo cuando la variable presenta muchos datos diferentes
Un ejemplo de una tabla de contingencia es la que se muestra a continuacin:

Rendimiento SEXO
Escolar Masculino Femenino TOTAL
Alto 0 8 8
Bajo 5 16 21
Medio 4 11 15
TOTAL 9 35 44

Como podemos observar esta tabla de contingencia cruza la informacin acerca de


la frecuencia de 2 variables Sexo con sus dos categoras: Masculino y Femenino;
y Rendimiento Escolar con sus tres categoras Alto, Bajo y Medio, medidas sobre
44 individuos. Y por ejemplo se evidencia 16 individuos de sexo femenino que
tienen un rendimiento escolar bajo, en total 35 Individuos de sexo femenino, 8
estudiantes que tienen un rendimiento escolar alto, etc
Ejemplo 4.5
Se eligieron en total 44 estudiantes de la carrera de Estadstica, para que elaboren
una prueba aptitudinal, la calificacin de esta prueba se detalla en la siguiente
tabla.

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

4 Medio MASCULINO 26 Medio MASCULINO


5 Medio MASCULINO 27 Bajo MASCULINO
6 Alto MASCULINO 28 Alto MASCULINO

7 Bajo MASCULINO 29 Medio FEMENINO

8 Medio MASCULINO 30 Alto MASCULINO


9 Medio MASCULINO 31 Bajo MASCULINO
10 Bajo FEMENINO 32 Bajo MASCULINO
11 Medio MASCULINO 33 Bajo MASCULINO
12 Medio FEMENINO 34 Medio MASCULINO
13 Bajo MASCULINO 35 Bajo MASCULINO

14 Bajo MASCULINO 36 Alto MASCULINO

15 Bajo MASCULINO 37 Alto MASCULINO

16 Bajo MASCULINO 38 Bajo MASCULINO


17 Medio MASCULINO 39 Bajo FEMENINO
18 Medio MASCULINO 40 Medio MASCULINO
19 Bajo FEMENINO 41 Bajo MASCULINO

20 Bajo MASCULINO 42 Bajo FEMENINO

21 Bajo MASCULINO 43 Bajo MASCULINO

22 Bajo MASCULINO 44 Medio FEMENINO

Como se puede observar existen 2 variables (Calificacin, y Sexo) medidas sobre


los 44 individuos: Realice una tabla de contingencia, donde se cruce informacin
acerca de la frecuencia para Calificacin obtenida y el Sexo de los estudiantes
Solucin:
Solucin en R:
En R utilizaremos el comando table( ) al igual que lo hacamos para construir
una tabla de frecuencia para una sola variable, con la diferencia que en esta
ocasin en el argumento irn las dos variables que se quieren analizar
separadas por una coma.

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

Como podemos observar se forma nuestra tabla de contingencia, aunque para


que se vea completa falta los totales por filas, por columnas y el total de los
totales. Tal procedimiento se desarrolla a travs del siguiente cdigo:

> data <- read.csv(file = "D:/Documents/data.csv",header = T,sep = ";")


> X <- data$Rendimiento.Acadmico
> Y <- data$Sexo
> t <- table(X,Y) #Hasta aqu tenemos la tabla ya obtenida
> suma <- sum(t) # Suma de todas las observaciones (total de individuos)
> Sum_Col<-colSums(t) # Suma las columnas de las tablas de contingencia
> Sum_Fila <- rowSums(t) # Suma las filas de las tablas de contingencia
> t <- cbind(t,Sum_Fila) # Agregamos la suma por columnas a la tabla
> t <- rbind(t,Sum_Col) # Agregamos la suma por filas a la tabla
> t[4,3] <- suma # Agregamos la suma total a la posicin correspondiente
>t # Imprimo la tabla de contingencia

FEMENINO MASCULINO Sum_Fila


Alto 0 8 8
Bajo 5 16 21
Medio 4 11 15
Sum_Col 9 35 44

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

Como se puede observar, al igual que en R, se forma la tabla de contingencia


aunque falta an los totales por filas, por columnas y el total de los totales. Para
ello seguimos el siguiente cdigo:

>> 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.

5.1. Descripcin Numrica De Datos Univariados


En el presente apartado estudiaremos la manera de describir los datos
pertenecientes a una sola variable de manera independiente, bsicamente el
estudio que se har sobre estos datos es acerca de las medidas que nos ayuden a
describir o resumir el centro, la variabilidad y la posicin de la informacin que se
encuentre en una variable.

5.1.1. Medidas de Tendencia Central


Las medidas de tendencia central son aquellas que nos ayudan a determinar el
valor que se encuentra ubicado en el centro o la mitad de un grupo de datos, este
valor es aquel, alrededor del cual est concentrada la informacin. Este solo
nmero es de mucha utilidad el momento de resumir informacin recolectada, por
ejemplo cuando un maestro da a conocer el rendimiento acadmico de uno de sus
estudiantes, es ms fcil informar que tal estudiante obtuvo una calificacin
promedio de 8, en lugar de detallar de una forma poco entendible y hasta aburrida

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

Obtenga el promedio de las calificaciones obtenidas en este curso:


Solucin
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
=
15
= 7.86

La calificacin promedio de este grupo de estudiantes es de 7.86. Pero vale la pena


antes de publicar esta estadstica acerca de la calificacin promedio de los
estudiantes, hacernos la interrogante: Es este promedio, un nmero que resume
adecuadamente todos los datos? La respuesta es NO:

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 <- 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)


> mean(x)
[1] 7.86

En MATLAB 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

(1) Calculamos las marcas de clase de cada intervalo formado


(2) Calculamos las frecuencias absolutas de cada intervalo formado
(3) Multiplicamos cada marca de clase por la respectiva frecuencia en cada
uno de los intervalos. Por ejemplo para el 1 intervalo: 195*6 = 1170.
(4) Finalmente la media es la divisin entre la suma total de la columna 3, y
la suma total de la columna 2:
34480
= = 229.87
150
En R ponemos a consideracin el siguiente cdigo que nos ayudar a
calcular la media para datos agrupados:

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

De igual manera en MATLAB podemos escribir el siguiente cdigo

>> datos; % Exporto los datos


>> mc = [195, 205, 215, 225, 235, 245, 255, 265]; %Defino marcas de clase
>> f = hist(datos,mc); % Calculo las frecuencias agrupadas por intervalos
>> 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 =

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 <- 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)


> median(x)
[1] 8.2

En MATLAB 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

Mediana Para Datos Agrupados


Cuando tenemos datos agrupados en intervalos, para calcular la mediana
utilizamos la siguiente ecuacin

1
= + [2 ]

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:

> a <- c("a","e","o","a","i","e","a","u","a","i","u")


> f <- table(a) # Calculamos las frecuencias de los datos
> f[which.max(f)] # Determinamos el valor con mxima frecuencia
a
4

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:

>> a = {'a','e','o','a','i','e','a','u','a','i','u'}; # Datos originales


>> a = [1,2,4,1,3,2,1,5,1,3,5]; # Datos codificados
>> [dato,frecuencia]=mode(a) # Moda

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.

5.1.2. Medidas de Dispersin


En la mayora de anlisis descriptivos, la tendencia central de la muestra resulta
insuficiente para poder describir numricamente un conjunto de datos, puesto
que esta solo nos muestra donde est centrada la informacin, pero no nos dice
nada acerca del comportamiento de todos los dems datos alrededor de esta
posicin central, es decir de cun lejos o cerca se encuentran todos los datos con
respecto a la media.
El solo clculo de la media para resumir un grupo de datos muchas veces podra
llevarnos a realizar una mala interpretacin de la informacin. Considere el
siguiente ejemplo:

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

> 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)


> r<-range(x) # Calcula los valores mximo y mnimo
>r
[1] 0.5 9.3

> r <- max(x)-min(x) #Rango


>r
[1] 8.8

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:

> 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)


> DT <- x-mean(x)
> DT
[1] 0.44 0.24 -0.16 0.64 1.44 -0.06 0.64 0.04 0.34 -7.36 0.34 1.24 0.74 1.34
[15] 0.14

Como podemos observar, la mayora de las desviaciones no tienen valores


demasiado altos, a excepcin de la que corresponde al valor -7.36; esta desviacin
extremadamente grande nos indica que el correspondiente dato (especficamente
10 = 0.5), es el valor que ms se aleja de la media. As mismo la desviacin de -
0.06, correspondiente al sexto dato (6 = 7.8), que es el ms pequeo nos indica
que este es el dato que ms cercano est de la media, es decir no se encuentra
disperso sino ms bien cercano a esta medida de tendencia central.

Varianza y Desviacin Estndar


Es de mucha importancia conocer la dispersin que tienen los datos mediante la
desviacin tpica, puesto que esto muestra claramente mediante las distancias
medidas cun lejos o cerca se encuentran cada uno de los datos respecto a la
tendencia central. Sin embargo, el tener un registro de cada una de las
desviaciones tpicas pertenecientes a cada dato no resume la informacin
referente a la dispersin existente, por lo que se hace necesario simplificar en un
solo nmero estas desviaciones. La mejor forma de conseguirlo es calculando un

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

Es fcil a partir de esto entonces deducir que la desviacin estndar simplemente


se la puede calcular extrayendo la raz cuadrada de la varianza.

= 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

> y <- c(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) # Ingreso los datos


excluyendo el atpico
> varianza <- var(y) # Calculo la varianza del nuevo grupo de datos
> varianza
[1] 0.2643956
> desv_est <- sd(y) # Calculo la desviacin estndar del nuevo grupo de datos
> desv_est
[1] 0.5141941

En MATLAB: Utilizaremos los comandos var( ) y std( ) para calcular


la varianza y desviacin estndar respectivamente

>> 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]; % Ingreso todos los 15


datos
>> var(x) % Calculo la varianza
ans =
4.3911
>> std(x) % Calculo la desviacin estndar
ans =
2.0955

>> y = [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]; % Ingreso los datos excluyendo


el atpico
>> var(y) % Calculo la varianza del nuevo grupo de datos
ans =
0.2644
>> std(y) % Calculo la desviacin estndar del nuevo grupo de datos
ans =
0.5142

Cuando calculamos la varianza y desviacin estndar de todos los datos


(incluido el atpico x10 = 0.5), nos damos cuenta que estas medidas de
dispersin calculadas (S2 = 4.3911 y S = 2.0955) son valores altos con

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.

Varianza y Desviacin Estndar Para Datos Agrupados


La forma de calcular la Varianza y Desviacin estndar para datos agrupados, es a
travs de las siguientes ecuaciones
2
=1( )
Varianza 2 =

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

(1) Calculamos las marcas de clase de cada intervalo formado


(2) Calculamos las frecuencias absolutas de cada intervalo formado
(3) Calculamos los cuadrados de las desviaciones tpicas de cada uno de las
marcas de clase respecto a la media de datos agrupados = 229.87
(4) Multiplicamos cada una de estas desviaciones tpicas por la frecuencia
correspondiente a cada intervalo formado
Finalmente sumamos los valores correspondientes, y obtenemos la varianza
mediante la ecuacin planteada:
2
=1( )
2 =

67747.34
2 =
150
2 = 451.65
Finalmente la desviacin estndar:

= 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:

> datos <- BJsales


> mc <- hist(datos,plot = F)$mids # Calculo las marcas de clase
> f <- hist(datos,plot = F)$counts # Calculo las frecuencias agrupadas por intervalos
> desv <- (mc - 229.87)^2 # Calculo los cuadrados de las desviaciones
> mult <- desv*f # Multiplico las desviaciones por la correspondiente
frecuencia
> num <- sum(mult) # Calculo el numerador segn la ecuacin planteada
> n <- sum(f) # Calculo el nmero total de datos (denominador)
> var <- num/n # Calculo la varianza segn la ecuacin
> var
[1] 451.6489
> desv <- sqrt(var) # Calculo la desviacin estndar (raz de la varianza)
> desv
[1] 21.25203

De igual manera en MATLAB podemos escribir el siguiente cdigo

>> datos; % Exporto los datos


>> mc = [195, 205, 215, 225, 235, 245, 255, 265]; % Calculo las marcas de clase
>> f = hist(datos,mc); % Calculo las frecuencias agrupadas por intervalos
>> desv = (mc - 229.87).^2; % Calculo los cuadrados de las desviaciones
>> mult = desv.*f; % Multiplico las desviaciones por la correspondiente frecuencia
>> num = sum(mult); % Calculo el numerador segn la ecuacin planteada
>> n = sum(f); % Calculo el nmero total de datos (denominador)
>> var = num/n % Calculo la varianza segn la ecuacin

var =

451.6489

>> desv = sqrt(var) % Calculo la desviacin estndar (raz de la varianza)

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

En este caso podemos observar por ejemplo como el 1 cuartil Q1 es el promedio


entre los datos x2 y x3, Q2 el promedio entre x4 y x5, etc
Para 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.

Como es de suponerse a continuacin nos ayudaremos del software para calcular


los cuartiles y graficar el boxplot. Esto lo ilustramos de mejor manera con el
siguiente ejemplo:
Ejemplo 5.10
En R, existe una base de datos denominada trees, la cual contiene informacin
recolectada para 31 rboles distintos, en los cuales se midieron tres caractersticas,
por lo que existen tres variables que son: El Dimetro de su circunferencia Girth,

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

> Diametro <- trees$Girth # Filtramos la variable Girth


> quantile(Diametro) # Calculo de los cuartiles
0% 25% 50% 75% 100%
8.30 11.05 12.90 15.25 20.60

> boxplot(Diametro,main = "Boxplot Girth")


________________________________________________________________________

> Altura <- trees$Height # Filtramos la variable Height


> quantile(Altura) # Calculo de los cuartiles
0% 25% 50% 75% 100%
63 72 76 80 87
> boxplot(Altura,main = "Boxplot Height")
_______________________________________________________________________
> Volumen <- trees$Volume # Filtramos la variable Volume
> quantile(Volumen) # Calculo de los cuartiles
0% 25% 50% 75% 100%
10.2 19.4 24.2 37.3 77.0
> boxplot(Volumen,main = "Boxplot Volume")

Los valores correspondientes al 0% y 100% son los mnimos y mximos


respectivamente. Como ya se dijo el 25% representa Q1, el 50% el Q2
(mediana), y el 75% representa a Q3.
Por ejemplo para la variable Height, podemos concluir que el valor ms
pequeo es 63 (rbol con la altura ms baja), el valor ms grande es 87
(rbol con la mayor altura); Q1 = 72, quiere decir que exactamente 25% de
los rboles analizados tienen una altura inferior a este valor; Q2= 76 quiere
decir que 50% de los rboles analizados tiene una altura inferior y/o
superior a este valor; y Q3 = 80 nos dice que el 75% de los rboles
analizados tienen una altura por debajo de este valor.

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

En el Boxplot podemos notar que la Variable Volume posee un dato atpico, es


decir mucho ms grande que el resto, este dato es 70.

En MATLAB: Despus de exportar la base de datos desde R, utilizaremos


el comando prctile( ), el cual calcula los percentiles que el usuario le
indique; as el primer argumento son los datos que se va analizar, y el 2
argumento corresponde a un vector indicando los percentiles que se desee
calcular, para nuestro caso siempre sern el 25, 75 y 50.

138
>> datos % Exporto los datos

datos =

Girth: [31x1 double]


Height: [31x1 double]
Volume: [31x1 double]
_________________________________________________________________________________
>> Diam = datos.Girth; % Filtro la variable
>> cuartiles = prctile(Diam,[25,50,75]) % Calculo los cuartiles

cuartiles =

11.0250 12.9000 15.6250


_________________________________________________________________________________

>> Altura = datos.Height; % Filtro la variable


>> cuartiles = prctile(Altura,[25,50,75]) % Calculo los cuartiles

cuartiles =

72 76 80
_________________________________________________________________________________

>> Volumen = datos.Volume; % Filtro la variable


>> cuartiles = prctile(Volumen,[25,50,75]) % Calculo los cuartiles

cuartiles =

19.2500 24.2000 37.8000

Como se mostr este es el clculo de los cuartiles variable por variable, se


podra sin embargo calcular de una sola vez los cuartiles para las tres
variables, esto transformando los datos a matriz y utilizando el mismo
comando:

>> datos % Exporto los datos


>> X = [datos.Girth,datos.Height,datos.Volume]; % Convierto los datos a matriz
>> cuartiles = prctile(X,[25,50,75]) % Calculo los cuartiles

cuartiles =

11.0250 72.0000 19.2500


12.9000 76.0000 24.2000
15.6250 80.0000 37.8000

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

El boxplot lo hacemos con el comando boxplot:

>> boxplot(datos.Girth) % Construye un boxplot solo para la variable Height

>> boxplot(datos.Height) % Construye un boxplot solo para la variable Height

>> boxplot(datos.Volume) % Construye un boxplot solo para la variable Volume

>> X = [datos.Girth,datos.Height,datos.Volume]; % Convierto los datos a matriz


>> boxplot(datos.Volume) % Construye un boxplot para las tres variables (3 en 1)

Grfico 5.3 Salida en MATLAB de un Boxplot para la Variable Height

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%

> Altura <- trees$Height


> quantile(Altura,probs = seq(0.2,0.8,0.2)) # Calculo de los quintiles
20% 40% 60% 80%
71 75 79 81
> quantile(Altura,probs = seq(0.1,0.9,0.1)) # Calculo de los deciles
10% 20% 30% 40% 50% 60% 70% 80% 90%
66 71 74 75 76 79 80 81 83

Por ejemplo el quintil 75, que corresponde al 40% de la informacin,


significa que por debajo de este datos se encuentra el 40% de la
informacin y que anlogamente por encima est el 60% de la misma;
adems entre cada uno de estos valores de quintiles se encuentra 20% de
la informacin. La misma manera de interpretar tienen los deciles

En MATLAB, utilizaremos el mismo comando prctile( ), indicando en


los argumentos los percentiles correspondientes a los quintiles y a los
deciles. Luego de exportar los datos desde R entonces:

>> Altura = datos.Height;


>> quintiles = prctile(Altura,[20,40,60,80]) % Calculo quintiles

quintiles =

70.7000 75.0000 79.1000 81.0000

>> deciles = prctile(Altura,10:10:90) % Calculo deciles

deciles =

65.6000 70.7000 73.6000 75.0000 76.0000 79.1000 80.0000 81.0000 83.8000

5.2. Descripcin Numrica de Datos Bivariados


En este corto apartado estudiaremos la manera de describir numricamente la
relacin existente entre dos variables. Denominamos anlisis bivariado debido a

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.

> d <- mtcars


> cov(x = d$mpg,y = d$disp) #Covarianza mpg - disp
[1] -633.0972

> cov(x = d$disp,y = d$hp,) #Covarianza disp. - hp


[1] 6721.159

En MATLAB, luego de exportar los datos desde R utilizamos el comando


cov( ), el cual nos va a devolver una matriz 2x2, cuya diagonal principal
indica los valores de la varianza de la 1 y la 2 variable respectivamente;
y la diagonal secundaria siempre se observar el mismo valor, y
precisamente es el valor de la covarianza entre las dos variables.

>> format shortg


>> datos; % Exporto los datos mtcars
>> cov(datos.mpg,datos.disp) % Covarianza mpg - disp

ans =

36.324 -633.1
-633.1 15361

>> cov(datos.disp,datos.hp) % Covarianza disp. - hp

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

Note que es el mismo resultado pero presentado de distinta


forma. Para que los datos se visualicen de la forma como
inicialmente son presentados debemos escribir antes la
instruccin format shortg. Esto solo en el caso de ser
necesario

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.

Matemticamente el coeficiente de correlacin de Pearson r queda definido por


la ecuacin:

=

Donde:
r Coeficiente de Correlacin de Pearson
SXY Covarianza entre las dos variables
Sx Desviacin estndar de la primera variable
SY Desviacin estndar de la segunda variable

El coeficiente tomar valores entre -1 y 1. Mientras ms se acerque a estos


extremos mayor ser la fuerza de la relacin que presenten estas variables,
anlogamente mientras ms se acerque a cero menor ser la fuerza de esta relacin

De este coeficiente de correlacin analizamos dos aspectos importantes:


1) El signo del coeficiente:
Si el signo del coeficiente es el mismo que tiene la covarianza de las dos
variables que se estudien, este determina el tipo de relacin existente entre
las dos variables, es decir un signo positivo indicar una relacin
directamente proporcional, mientras que un signo negativo mostrar una
relacin inversamente proporcional
2) El valor absoluto:
En valor absoluto este coeficiente estar en un rango de 0 a 1
Si 0 < |r | < 0.25, existe una relacin dbil
Si 0.25 < |r | < 0.50, existe una relacin moderadamente dbil
Si 0.50 < |r | < 0.75, existe una relacin moderadamente fuerte

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.

> d <- mtcars


> cor(x = d$mpg,y = d$disp) #Correlacin mpg - disp
[1] -0.8475514
> cor(x = d$disp,y = d$hp) #Correlacin disp. - hp
[1] 0.7909486

En MATLAB utilizamos el comando corrcoef( ), cuyos dos argumentos


principales son los dos vectores que contienen los datos de las dos variables
que se desean analizar. El resultado es una matriz 2x2, cuya diagonal
secundaria contiene el mismo valor perteneciente al coeficiente de
correlacin de Pearson; la diagonal principal es el coeficiente de
correlacin de cada variable consigo mismo por lo que este valor siempre
ser igual a 1

148
>> datos; % Exporto los datos mtcars
>> corrcoef(datos.mpg,datos.disp) % Correlacin mpg - disp

ans =

1.0000 -0.8476
-0.8476 1.0000

>> corrcoef(datos.disp,datos.hp) % Correlacin disp. - hp

ans =

1.0000 0.7909
0.7909 1.0000

- El coeficiente de correlacin existente entre las variables mpg y disp, al


tener un signo negativo indica que la relacin existente entre las dos
variables es inversamente proporcional (tal como ya se analiz en la
covarianza), mientras que su valor absoluto de 0.8476 nos indica que
entre ambas variables existe una fuerte relacin. En conclusin mpg y
disp presentan una relacin inversamente proporcional fuerte
- El coeficiente de correlacin existente entre las variables disp y hp, al
tener un signo positivo indica que la relacin existente entre las dos
variables es directamente proporcional (tal como ya se analiz en la
covarianza), mientras que su valor absoluto de 0.7909 nos indica que
entre ambas variables existe una fuerte relacin. En conclusin disp y
hp presentan una relacin directamente proporcional fuerte.

149