\documentclass[11pt]{book}
\usepackage{url}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[spanish]{babel}
\usepackage{graphicx}

\textheight 23cm \textwidth 16,5cm \topmargin 0cm
\parskip 1ex
\headsep 0,5cm \evensidemargin 0.5cm \oddsidemargin 0.5cm
\parindent 5ex
\renewcommand{\baselinestretch}{1,0}
\flushbottom

\newcommand{\ventana}[2][1]{    % centrar gráficos
  \begin{center}
    \includegraphics[width=#1\textwidth]{rintro/#2.eps}
  \end{center} }
\newcommand{\m}[1]{\texttt{#1}} % a máquina
\newcommand{\n}[1]{\textit{#1}} % cursiva

\addto\captionsspanish{\renewcommand*{\chaptername}{Tema}}

\begin{document}
\title{\Huge Estructura de R \\ y \\ Análisis descriptivo \\ de una variable}
\author{Estadística EUITIO}
\date{}
\maketitle

El paquete R\footnote{Sitio de referencia:
  \texttt{http://www.r-project.org}.} es una colección de programas
libres\footnote{En el sentido GNU:
  \texttt{http://gnu.org/philosophy/free-sw.es.html}.} diseñada para
el análisis estadístico de datos, que permite desde los análisis
descriptivos más sencillos (como tablas de frecuencias simples) a
procedimientos inferenciales más complejos (como el análisis de
varianza o el análisis de componentes principales).

R realiza tres funciones esenciales: (1) leer datos, (2) especificar
el tipo de análisis que se quiere realizar con esos datos y (3)
mostrar los resultados obtenidos tras los análisis.  La interpretación
de los resultados es tarea del investigador.

\ventana{rproject}

\chapter*{Instalación de R}
\label{instalar}

\section*{Debian GNU/Linux}
\thispagestyle{empty} Mediante algún gestor de paquetes, solicite la
instalación de los paquetes \texttt{r-cran-rcmdr} y
\texttt{r-cran-fbasics}.  Por ejemplo, en la línea de órdenes:

\begin{verbatim}
# aptitude install r-cran-rcmdr r-cran-fbasics
\end{verbatim}

Emacs dispone de una interfaz a R llamada ESS ({\it Emacs speaks
  statistics}).  Puede instalarla mediante
\begin{verbatim}
# aptitude install ess
\end{verbatim}
y ejecutarla desde Emacs mediante \verb+M-x R+.

\section*{OpenBSD}
\thispagestyle{empty} Instale el paquete \verb+R+:
\begin{verbatim}
$ sudo pkg_add R
\end{verbatim}
y luego los paquetes de R llamados \verb+Rcmdr+ y \verb+fBasics+:
\begin{verbatim}
$ R
> install.packages(c("Rcmdr","fBasics"))
\end{verbatim}

\section*{FreeBSD}
\thispagestyle{empty} Instale el porte \verb+R+:

\begin{verbatim}
# cd /usr/ports/math/R
# make install clean
\end{verbatim}
y luego los paquetes de R llamados \verb+Rcmdr+ y \verb+fBasics+:
\begin{verbatim}
$ R
> install.packages(c("Rcmdr","fBasics"))
\end{verbatim}

\section*{ReactOS y Microsoft Windows}

Si dispone de acceso a Internet:

\begin{enumerate}

\item Descargue el fichero ejecutable
\begin{verbatim}
http://cran.es.r-project.org/bin/windows/base/R-2.8.0-win32.exe
\end{verbatim}
\item Ejecute el fichero descargado, teniendo en cuenta:
  \begin{enumerate}
  \item Cuando pregunta si deseamos establecer opciones de
    instalación, escoja \emph{Sí}.
  \item Para el modo de presentación (MDI o SDI), escoja \emph{SDI}
    (es conveniente por la implementación Tcl/Tk de Rcommander).
  \item Para la conexión a la red, escoja \emph{Internet2} (al menos,
    dentro de la Universidad Oviedo, para obtener adecuadamente la
    información sobre el proxi).
  \end{enumerate}
\item Ejecute el programa R, ya instalado.
\item En el menú \emph{Paquetes}, pinche en \emph{Seleccionar espejo CRAN}.
\item En el cuadro de diálogo, escoja \emph{Spain (Madrid)} o algún
  otro cercano, y pulse OK.
  \item En el menú \emph{Paquetes}, pinche en \emph{Instalar paquete(s)}
  \item Escoja \emph{fBasics} y \emph{Rcmdr} y acepte.

\end{enumerate}

Si no tiene acceso a Internet, consiga los archivos necesarios en
\begin{verbatim}
ftp://carleos.epv.uniovi.es/euitio/R
\end{verbatim}
Para instalar un paquete, en el menú \emph{Paquetes}, escoja
\emph{Instalar desde ficheros ZIP locales} y seleccione el fichero
correspondiente.

\section*{Configuración para la asignatura}

Ciertas definiciones usadas en la parte teórica de la asignatura no se
corresponden exactamente con las definiciones usadas por omisión en R
(p.ej.\ varianza, cuantil).  Para que el entorno utilice las
definiciones acordes a la teoría, cargue al principio de la sesión el
fichero de código fuente siguiente si su sistema usa codificación de
signos UTF-8:
\begin{verbatim}
ftp://carleos.epv.uniovi.es/euitio/oviedo-u8.R
\end{verbatim}
o, si todavía usa Latin-1, cargue en su lugar
\begin{verbatim}
ftp://carleos.epv.uniovi.es/euitio/oviedo-l1.R
\end{verbatim}
Para cargar código, utilice la función \verb+source+ o en el menú
\emph{Archivo} escoja \emph{Cargar código R}.  Para no tener que
repetir esta operación en cada sesión, incluya el código en
$\mathtt{\sim}$\verb+/.Rprofile+.

\chapter*{Lenguaje R: tipos de objetos}

En esta sección se realiza una descripción somera de los tipos de
objetos disponibles en el lenguaje de programación R, que puede ser
útil para interpretar la información que presentan las salidas de
Rcommander.\footnote{Para profundizar más, consúltese por ejemplo
  \url{http://cran.r-project.org/doc/contrib/rdebuts_es.pdf} o
  \url{http://cran.r-project.org/doc/contrib/R-intro-1.1.0-espanol.1.pdf}.}

\section*{Tipos básicos}

Los tipos de valores básicos en R son: lógicos (booleanos), numéricos
y cadenas de caracteres.\footnote{Detallando más, hay tres tipos
  numéricos (enteros, reales [llamados también dobles o de coma
  deslizante] y complejos) y un tipo adicional \emph{crudo} para
  almacenar octetos.}  Las constantes lógicas son \verb+TRUE+
(verdadero) y \verb+FALSE+ (falso)
\begin{verbatim}
> 1 == 1
[1] TRUE
> 1 == 2
[1] FALSE
> T
[1] TRUE
> F
[1] FALSE
\end{verbatim}
Téngase en cuenta que \verb+T+ y \verb+F+ son objetos (variables del
lenguaje) que valen inicialmente \verb+TRUE+ y \verb+FALSE+
respectivamente, aunque pueden ser redefinidos.

Las constantes numéricas adoptan la notación habitual en informática;
por ejemplo, la notación exponencial o científica:
\begin{verbatim}
> 1e4
[1] 10000
\end{verbatim}
El resultado de una operación matemática puede ser \verb+Inf+
(infinito) o \verb+NaN+ (\emph{not a number}: no un número):
\begin{verbatim}
> 3/0
[1] Inf
> log(0)
[1] -Inf
> log(-1)
[1] NaN
Warning message:
In log(-1) : NaNs produced
> sqrt(-1)
[1] NaN
Warning message:
In sqrt(-1) : NaNs produced
> sqrt(-1+0i)
[1] 0+1i
> log(-1+0i)
[1] 0+3.141593i
\end{verbatim}
Nótese cómo en el ejemplo algunos \verb+NaN+es pueden evitarse usando
números complejos.

Las cadenas pueden delimitarse por comillas o por apóstrofos, lo cual
puede aprovecharse para incluir cómodamente comillas en la
cadena\footnote{Sin necesidad de \emph{escaparlas} mediante una
  retrobarra.}:
\begin{verbatim}
> "nombre"
[1] "nombre"
> 'Lo llamaban "Trinidad"'
[1] "Lo llamaban \"Trinidad\""
\end{verbatim}

Queda mencionar la constante \verb+NA+ (\emph{not available}: no
disponible) que indica un valor \emph{ausente}.  Aparece, por ejemplo,
al leer campos numéricos vacíos durante la importación de un fichero.
Al igual que \verb+NaN+, tiene comportamiento \emph{viral} (contagia):
\begin{verbatim}
> 3 + NA
[1] NA
\end{verbatim}

La asignación de valores a objetos se realiza mediante el operador
\verb+<-+\footnote{Fuera de los argumentos de funciones puede
  sustituirse por \texttt{=}, así: \texttt{a = 8.5}.}:
\begin{verbatim}
> a <- 8.5
\end{verbatim}
Pero ¡ojo!
\begin{verbatim}
> a < -3
[1] FALSE
> a<-3
> a
[1] 3
\end{verbatim}
Ten cuidado dónde pones los espacios.

Hasta ahora los valores considerados son simples; podrían llamarse
\emph{átomos} o \emph{escalares}.  En R hay también estructuras
compuestas, entre las que veremos los vectores, las matrices, las
listas y los dataframes.

\section*{Vectores}

Podemos crear un vector mediante la función \verb+c+, que concatena:
\begin{verbatim}
> b <- c(1,2,3,10)
\end{verbatim}

Los escalares en R son siempre vectores de longitud 1, así que la
asignación de \verb+a+ en la sección anterior es equivalente a:
\begin{verbatim}
> a <- c(8.5)
\end{verbatim}

Toda la aritmética en R (así como muchas de sus funciones) es
vectorial.  Por ejemplo, se pueden sumar vectores:
\begin{verbatim}
> a+b
[1]  9.5 10.5 11.5 18.5
\end{verbatim}

El \verb+[1]+ que aparece al comienzo del renglón es una ayuda para
localizar posiciones en vectores largos:
\begin{verbatim}
> 10:50
 [1] 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
[26] 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
\end{verbatim}
Así, el 35 ocupa la posición vigésimo-sexta.

En el ejemplo anterior se ha utilizado el operador \verb+:+ para crear
una secuencia.  La función \verb+seq+ generaliza la creación de
secuencias:
\begin{verbatim}
> seq(0,3,0.5)
[1] 0.0 0.5 1.0 1.5 2.0 2.5 3.0
\end{verbatim}

Es útil también la función \verb+rep+ para crear vectores con un
elemento repetido:
\begin{verbatim}
> rep("A",5)
[1] "A" "A" "A" "A" "A"
\end{verbatim}


Los vectores se pueden concatenar:
\begin{verbatim}
> bab <- c(b,a,b)
> bab
[1]  1.0  2.0  3.0 10.0  8.5  1.0  2.0  3.0 10.0
\end{verbatim}
pero tenga en cuenta que en un vector todos los elementos han de ser
del mismo tipo:
\begin{verbatim}
> c(bab,"cadena")
 [1] "1"      "2"      "3"      "10"     "8.5"    "1"      "2"      "3"
 [9] "10"     "cadena"
\end{verbatim}

Se puede acceder a los elementos de un vector indicando a su vez un
vector de subíndices (enteros positivos):
\begin{verbatim}
> bab[4]
[1] 10
> bab[4:6]
[1] 10.0  8.5  1.0
> bab[c(4,6)]
[1] 10 1
\end{verbatim}
Si los subíndices son negativos, indican exclusión:
\begin{verbatim}
> bab[-4]
[1]  1.0  2.0  3.0  8.5  1.0  2.0  3.0 10.0
> bab[-(4:6)]
[1]  1  2  3  2  3 10
> bab[-c(4,6)]
[1]  1.0  2.0  3.0  8.5  2.0  3.0 10.0
\end{verbatim}

\section*{Matrices}

Una matriz es la versión bidimensional de un vector:
\begin{verbatim}
> m <- matrix(1:6,nrow=2)
> m
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6
\end{verbatim}
Para obtener una submatriz, hay que indicar subíndices para filas y
columnas; en blanco, para seleccionar toda la dimensión:
\begin{verbatim}
> m[1,2]
[1] 3
> m[1,]
[1] 1 3 5
> m[,2]
[1] 3 4
>  m[,2:3]
     [,1] [,2]
[1,]    3    5
[2,]    4    6
> m[,-1]
     [,1] [,2]
[1,]    3    5
[2,]    4    6
\end{verbatim}

Se pueden pegar vectores o matrices por columnas mediante la función
\verb+cbind+ para formar una nueva matriz:
\begin{verbatim}
> cbind(1:3,c(8,9,10))
     [,1] [,2]
[1,]    1    8
[2,]    2    9
[3,]    3   10
> cbind(m,c(100,200))
     [,1] [,2] [,3] [,4]
[1,]    1    3    5  100
[2,]    2    4    6  200
\end{verbatim}
o por filas mediante la función \verb+rbind+:
\begin{verbatim}
> rbind(1:3,c(8,9,10))
     [,1] [,2] [,3]
[1,]    1    2    3
[2,]    8    9   10
\end{verbatim}

Se puede trasponer una matriz con la función \verb+t+, hallar su
determinante mediante \verb+det+, y un largo etcétera.

Al igual que los vectores, todos los elementos de una matriz han de
ser del mismo tipo (homogéneos):
\begin{verbatim}
> m[1,1] <- "nombre"
> m
     [,1]     [,2] [,3]
[1,] "nombre" "3"  "5"
[2,] "2"      "4"  "6"
\end{verbatim}

\section*{Listas}

Para almacenar elementos heterogéneos hay que recurrir a una lista:
\begin{verbatim}
> l <- list(bab,"cadena")
> l
[[1]]
[1]  1.0  2.0  3.0 10.0  8.5  1.0  2.0  3.0 10.0

[[2]]
[1] "cadena"
\end{verbatim}
Al subindicar con corchetes simples se obtiene una sublista:
\begin{verbatim}
> l[1]
[[1]]
[1]  1.0  2.0  3.0 10.0  8.5  1.0  2.0  3.0 10.0
\end{verbatim}
Al subindicar con corchetes dobles se puede extraer UN elemento de la
lista:
\begin{verbatim}
> l[[1]]
[1]  1.0  2.0  3.0 10.0  8.5  1.0  2.0  3.0 10.0
> l[[1]][4:6]
[1] 10.0  8.5  1.0
\end{verbatim}
Los elementos de una lista pueden tener etiquetas\footnote{También los
  de los vectores y matrices, pero no nos ocuparemos de eso.}:
\begin{verbatim}
> n <- list(bab=bab,cadena="Cadena")
> n[[1]]
[1]  1.0  2.0  3.0 10.0  8.5  1.0  2.0  3.0 10.0
> n$bab
[1]  1.0  2.0  3.0 10.0  8.5  1.0  2.0  3.0 10.0
> n$cadena
[1] "Cadena"
\end{verbatim}

\section*{Dataframes}

Un dataframe es una lista cuyos elementos son vectores, todos de igual
longitud.  Por tanto, se le pueden aplicar los operadores de listas y
los de matrices.  Es la estructura esencial para guardar valores de
variables estadísticas:
\begin{verbatim}
> d <- data.frame(v1=c(2,4,8,9),v2=c("v","v","m","m"))
> d
  v1 v2
1  2  v
2  4  v
3  8  m
4  9  m
> d[1,2]
[1] v
Levels: m v
> d[1,]
  v1 v2
1  1  v
> d[,2]
[1] v v m m
Levels: m v
> d$v1
[1] 2 4 8 9
> d$v2
[1] v v m m
Levels: m v
\end{verbatim}
Nótese que, al construir el dataframe, el vector de cadenas se ha
convertido en ``factor'', es decir, en un vector acompañado de una
lista de ``niveles'' (modalidades de la variable estadística).

\section*{Funciones}

Un objeto de R también puede almacenar una función:
\begin{verbatim}
> f <- function (x) x^2
\end{verbatim}
que puede usarse como argumento de otras funciones
\begin{verbatim}
> sapply (5:10, sqrt)
[1] 2.236068 2.449490 2.645751 2.828427 3.000000 3.162278
> sapply (5:10, f)
[1]  25  36  49  64  81 100
\end{verbatim}

Como se ve, la función \texttt{sapply} aplica una función a cada
elemento de un vector, y devuelve un vector de resultados.  La función
\verb+apply+ hace lo mismo con matrices, bien por filas:
\begin{verbatim}
> m <- matrix(1:6,nrow=2)
> m
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6
> apply(m,1,sum)
[1]  9 12
\end{verbatim}
bien por columnas:
\begin{verbatim}
> apply(m,2,sum)
[1]  3  7 11
\end{verbatim}
Téngase en cuenta que \verb+sum+ es una función que calcula la suma de
un vector.

\newpage
\thispagestyle{empty}
\newpage

\chapter{Estructura de R}

El objetivo de este primer tema es que el alumno aprenda a manejar el
programa R.  Para ello, primero hablaremos de su estructura: sus
ventanas y los elementos que las constituyen (barras de menús, de
elementos activos, etcétera).

\section{Comienzo de sesión}

Tras arrancar el programa, aparece una ventana titulada \n{Consola R}
que indica la versión de R y cómo obtener información de la licencia
de uso.

\begin{verbatim}
R version 2.6.2 (2008-02-08)
Copyright (C) 2008 The R Foundation for Statistical Computing
ISBN 3-900051-07-0

R es un software libre y viene sin GARANTIA ALGUNA.
Usted puede redistribuirlo bajo ciertas circunstancias.
Escriba 'license()' o 'licence()' para detalles de distribucion.

R es un proyecto colaborativo con muchos contribuyentes.
Escriba 'contributors()' para obtener mas informacion y
'citation()' para saber como citar R o paquetes de R en publicaciones.

Escriba 'demo()' para demostraciones, 'help()' para el sistema on-line de ayuda,
o 'help.start()' para abrir el sistema de ayuda HTML con su navegador.
Escriba 'q()' para salir de R.

>
\end{verbatim}

\section{Ventana de órdenes (consola)}

Por debajo del título, esta ventana contiene una barra con los
siguientes menús, cuyas opciones principales destacamos:

\begin{description}
\vspace*{-0.25cm}
\item[Archivo] Operaciones básicas con los ficheros.
Sólo usaremos:
  \begin{description}
  \item[Salir] Para salir del programa.
  \end{description}
\item[Editar] Típico menú con opciones de edición (copiar,
  pegar...).
\item[Misc] Opciones avanzadas.
\item[Paquetes] Permite gestionar los paquetes adicionales de R.  Nos
  interesará la opción:
  \begin{description}
  \item[Cargar paquete] Para activar un paquete en concreto.
  \end{description}
\item[Ayuda] Información abundante sobre R.
\end{description}

La consola permite una interacción con el intérprete de lenguaje R.  A
grandes rasgos, se trata de un lenguaje a alto nivel, al estilo de
Octave/Matlab, pero orientado a la computación estadística\footnote{En
  realidad, es un lenguaje con la semántica de Lisp/Scheme (con
  clausuras), lo que lo hace mucho más elegante que Octave y Splus.}.

\section{Interfaz gráfica (Rcommander)}

Desde el menú \n{Paquetes}, pinche en \n{Cargar paquete} y escoja
\n{Rcmdr}.  Aparece una interfaz gráfica\footnote{Basada en Tcl/Tk.}
que permite acceder a muchas de las órdenes de gestión y análisis de
datos del lenguaje R.  La pantalla presenta el aspecto de la figura
\ref{chefa}.

\begin{figure}[!h]
\begin{center}
    \includegraphics*[scale = 0.9]{rintro/chefa.eps}
  \end{center} \vspace*{-0.5cm}\caption{Aspecto inicial de la interfaz gráfica} \label{chefa}
\end{figure}

En la parte superior puede observarse una barra que consta de una
serie de menús (\n{Archivo}, \n{Editar}, \n{Datos}, etc.).  Si se
selecciona con el ratón cada una de ellas aparece un menú desplegable
donde se ofrecen otros submenús, cada uno de los cuales tiene a su vez
un cuadro de diálogo que es el lugar donde se especifican los detalles
de cada procedimiento.

Inmediatamente debajo aparece otra barra que indica el conjunto de
datos activo (\n{Datos:}) y el modelo activo.  Hay botones para ver
los datos (\n{Visualizar datos}) y modificarlos (\n{Editar datos}).

A continuación viene la \n{ventana de instrucciones}. Muestra las
órdenes de R correspondientes a las opciones de los menús escogidas
por el usuario.  Además, tales instrucciones se pueden modificar, y
ejecutar mediante el botón \n{Ejecutar}.

La \n{ventana de resultados} contiene aquellas salidas de las órdenes
ejecutadas que se muestran en formato de texto.

Finalmente, la ventana de \n{mensajes} recoge la información adicional
que R nos quiere hacer llegar (por ejemplo, advertencias o mensajes
administrativos).

Si por cualquier motivo salimos de la interfaz gráfica, podemos volver
a acceder a ella escribiendo en la consola la orden \m{Commander()}.

A continuación, repasamos con más detalle cada una de las partes.

\subsection{Barra de menús}

\begin{figure}[!h]
\begin{center}
    \includegraphics[width=\textwidth]{rintro/barra.eps}
  \end{center}
\end{figure}

En cada menú describimos solamente las opciones de interés para este curso:

\begin{description}
\vspace*{-0.25cm}\item[Archivo] Hay opciones para cargar o grabar
instrucciones,
  resultados o el entorno de trabajo.  También para salir
   de la interfaz gráfica, o también de R.
\item[Editar] Típico menú de edición.  Permite seleccionar, cortar,
  copiar, pegar y buscar.
\item[Datos] Permite la gestión de los datos por analizar.  R mantiene
  distintos conjuntos de datos dentro del entorno de trabajo.  Uno (y
  sólo uno) de ellos se considera \textit{activo}.

  Un conjunto de datos es una matriz con variables como columnas y
  casos como filas.  Lo comentaremos en la sección
  \ref{manejo-de-datos}.
\item[Estadísticas] Recoge los diferentes métodos de análisis que se
  pueden aplicar al conjunto de datos activo.  Se comentará
  a partir de la sección \ref{estadistica-descriptiva-univariable}.
\item[Gráficas] Recoge los diferentes tipos de gráfico que se pueden
  obtener.  Se comentará a partir de la sección
  \ref{estadistica-descriptiva-univariable}.
\item[Modelos] Un conjunto de datos puede tener asociados varios
  modelos estadísticos.  Este menú sirve para la gestión de los
  mismos.
\item[Distribuciones] Para trabajar con funciones de distribución de
  probabilidad: cuantiles, probabilidades y gráficas asociadas a las
  distribuciones normal, $t$, $\chi^2$, $F$, binomial\dots  Se
  empleará en el segundo trimestre.
\item[Herramientas] Este menú de utilidades contiene:
  \begin{description}
    \vspace*{-0.25cm}\item[Cargar paquet(e)] Para cargar paquetes de R
    adicionales.  No será necesario para los contenidos del curso.
  \item[Opciones] Para ajustar diferentes características de la interfaz,
    por ejemplo, el tamaño tipográfico.
  \end{description}
\item[Ayuda] La ayuda de la interfaz gráfica es una extensión de la
  ofrecida por la consola.
  \begin{description}
  \vspace*{-0.25cm}\item[Ayuda de R Commander] Uso de la interfaz gráfica.
  \item[Introducción a R commander] Artículo introductorio con
    imágenes.
  \item[Ayuda sobre los datos activos (si es posible)] Misma opción que bajo
    el menú \n{Datos}.
  \item[Información sobre Rcmdr] Versión y autores de la interfaz gráfica.
  \end{description}
  Además, la mayoría de los cuadros de diálogo dispone de un botón
  \n{Ayuda} que ofrece información sobre las órdenes de R asociadas a la
  acción correspondiente.
\end{description}

\subsection{Barra de elementos activos}

\begin{figure}[!h]
\begin{center}
    \includegraphics[width=\textwidth]{rintro/activos.eps}
  \end{center} \vspace*{-0.75cm}\end{figure}

Consta de:
\begin{description}
  \vspace*{-0.25cm}\item[Datos] Nombre del conjunto de datos activo,
  es decir, el que se toma por omisión a la hora de ejecutar una
  orden.
\item[Editar datos] Hace aparecer una cuadrícula donde es posible
  modificar el contenido del conjunto actual de datos.
\item[Visualizar datos] Muestra el contenido del conjunto actual de
  datos.
  \ventana[0.8]{viewdataset}
\item[Modelo] Para un mismo conjunto de datos se pueden crear
  diferentes modelos de análisis (de regresión lineal, de componentes
  principales...).  Este menú permite escoger el modelo activo, es
  decir, aquél considerado por omisión cuando se ejecuta una orden.
\end{description}

\subsection{Ventana de instrucciones}

Se puede acceder a muchas órdenes desde los menús y los cuadros de
diálogo.  No obstante, algunas órdenes y opciones sólo están
disponibles mediante el uso del lenguaje R.  Además, se pueden grabar
los guiones en un fichero de texto (habitualmente con extensión
\m{.R}) con lo que podrá repetir los análisis en otro momento o
ejecutarlos en un trabajo automatizado.

Un fichero \m{.R} es simplemente un fichero de texto que contiene
órdenes.  Es posible escribir órdenes directamente en la ventana de
guiones\footnote{También en la consola.}.  Sin embargo, es más
sencillo permitir que el programa le ayude a construir un guión
aprovechando que la realización de una acción desde un cuadro de
diálogo añade la orden a la ventana de guiones.  En ésta puede ser
modificada para su posterior ejecución.  Para ello, ha de seleccionar
con el ratón la orden u órdenes y despúes ha de pinchar en el botón
\n{Submit} o \n{Ejecutar}.

\begin{figure}[!h]
\begin{center}
    \includegraphics[scale = 0.99]{rintro/guion.eps}
  \end{center}
\vspace*{-0.75cm}\end{figure}


En el cuadro de diálogo de un procedimiento determinado, pulse en el
botón \n{Help} o \n{Ayuda} para saber qué opciones del lenguaje R
están disponibles (si hay alguna) para ese procedimiento.  Si desea
información completa sobre el lenguaje de órdenes, consulte el manual
de referencia incluido con la documentación de R.

\begin{figure}[!h]
\begin{center}
    \includegraphics[scale = 0.9]{rintro/ayuda.eps}
  \end{center}
\vspace*{-1cm}\end{figure}

\subsection{Ventana de resultados}

Una vez que se solicita un análisis con los datos, los resultados
obtenidos se muestran en la ventana inferior, mostrada en la página
siguiente.

\begin{figure}[!h]
\begin{center}
    \includegraphics[scale = 0.9]{rintro/salida.eps}
  \end{center}
\vspace*{-1cm}\end{figure}

El texto en rojo son las órdenes correspondientes que aparecen en la
ventana de instrucciones.  El texto en azul es el resultado de cada
orden.

Los contenidos de la ventana de resultados son texto puro, que puede
ser copiado a cualquier editor de texto para su procesamiento.

Podemos usar las ventanas de instrucciones y resultados a manera de
calculadora. El lenguaje R permite las operaciones aritméticas
básicas, la definición de variables y funciones y dispone de una
colección muy extensa de funciones ya definidas.  En el siguiente
ejemplo\footnote{R dispone de una función \m{var}, pero calcula la
  cuasivarianza.}, definimos la función \m{varianza}. \vspace*{-0.5cm}
\begin{verbatim}
> muestra <- c(1,3,5,7,33)
> mean(muestra)
[1] 9.8
> varianza <- function(x) mean(x^2) - mean(x)^2
> varianza(muestra)
[1] 138.56

\end{verbatim}
\vspace*{-1cm}
%\begin{figure}[!h]
%\begin{center}
 %   \includegraphics[scale = 0.7]{rintro/varianza.eps}\caption{Cálculo de la varianza}\label{varianza}
 % \end{center}
%\end{figure}



\subsection{Ventana de mensajes}

Recoge las indicaciones y advertencias de R.

\begin{figure}[!h]
\begin{center}
    \includegraphics[scale = 0.99]{rintro/mensaje.eps}
  \end{center}
\vspace*{-1cm}\end{figure}

\section{Fin de sesión}

En el menú \n{Archivo}, óptese por (\n{Salir})
\begin{description}
\item[De Commander] Se abandona la interfaz gráfica, pero no la
  consola de R.  Recuerde que para volver a la interfaz gráfica puede
  escribir \m{Commander()}.
\item[De Commander y R] Abandona el entorno R completamente.
\end{description}
En ambos casos se pide confirmación del abandono, y se pregunta si se
quiere guardar el contenido de las ventanas de instrucciones y de
resultados.

\begin{figure}[!h]
\begin{center}
    \includegraphics[scale = 0.8]{rintro/savescript.eps}
  \end{center}
\vspace*{-1cm}\end{figure}

\chapter{Manejo de datos}
\label{manejo-de-datos}

En este tema aprenderemos a manejar los conjuntos de datos y a leer y
almacenar en un fichero los datos necesarios para realizar un
análisis.  Estas tareas se realizan a través del menú \n{Datos}, cuyas
opciones mostramos someramente a continuación:

  \begin{description}
    \vspace*{-0.25cm}\item[Nuevos datos] Para introducir nuevos datos
    por el teclado.  Requiere dar un nombre a los datos nuevos, que no
    puede contener espacios ni caracteres especiales.
  \item[Importar datos] Para leer datos contenidos en un fichero.
    Soporta varios formatos: texto puro, SPSS, Minitab\dots
  \item[Datos en paquetes] R contiene una colección de datos de
    ejemplo, por si queremos ejercitarnos con el programa pero no
    disponemos de datos propios adecuados.
  \item[Datos activos] Aquí se gestiona el conjunto de datos activo.
    \begin{description}
      \vspace*{-0.25cm}\item[Seleccionar los datos activos] Elegir el
      conjunto de datos activo entre los que hay disponibles en ese
      momento en la sesión.
    \item[Ayuda sobre los datos activos (si es posible)] Algunos conjuntos de
      datos (como los de ejemplo) contienen una descripción.
    \item[Variable de los datos activos] Lista los nombres de las
      variables del conjunto de datos.
    \item[Establecer nombre de casos] A veces una variable no es tal, sino que
      contiene los nombres de los casos.  Esta opción permite
      indicárselo a R.
    \item[Filtrar los datos activos] Si queremos que los análisis
      subsiguientes se realicen sobre una subconjunto de los casos,
      aquí podemos indicar una expresión de filtro.  El filtro
      construye un nuevo conjunto de datos, cuyo nombre conviene
      indicar; en caso contrario, la selección se hace permanente (se
      eliminan los casos que no pasan el filtro).
    \item[Eliminar los casos sin datos] En algunas variables, puede
      que se desconozca el valor para cierto caso: se trata de un dato
      ausente (\n{missing}).  Esta opción elimina los casos con algún
      dato ausente.
    \item[Exportar los datos activos] Para guardar una tabla con el
      conjunto de datos activo en un fichero de texto.
    \end{description}
  \item[Modificar variables de los datos activos] Para realizar
    trasformaciones en los datos.
    \begin{description}
    \item[Recodificar variable] Crea una nueva variable a partir de una ya
      existente.  Sirve para agrupar datos cuantitativos en
      intervalos.
    \item[Calcular una nueva variable] Crea una nueva variable a partir de una
      fórmula, la cual puede involucrar al resto de las variables.
    \item[Tipificar variables] Para tifipicar variables cuantitativas.
    \item[Convertir variable numérica en factor] Indica al programa que
      los números no representan cantidades, sino categorías.
    \item[Segmentar variable numérica] Simplifica la agrupación de datos
      cuantitativos en intervalos, aunque por ello es menos flexible
      que Recode variable.
    \item[Renombrar variables] Cambia el nombre de la variable.
    \item[Eliminar variables de los datos] Elimina la variable.
    \end{description}
  \end{description}

\section{Obtención de datos}

Podemos introducir datos directamente, leerlos de un fichero ya
existente, o bien utilizar datos que R trae de ejemplo.

\subsection{Creación de un conjunto de datos nuevo}

Esta opción es conveniente cuando el conjunto de datos es pequeño.
Para conjuntos de datos mayores, es más cómodo crear un fichero de
datos por otros medios (por ejemplo, desde una hoja de cálculo o una
base de datos) y luego importarlo.

Lo primero que hay que tener en cuenta y no olvidar es que los
conjuntos de datos (\n{data set}, \n{data frame}) están organizados de
forma matricial, donde las filas se refieren a los casos (individuos,
unidades u observaciones) de la muestra y las columnas a las
variables.

Para introducir nuevos datos ha de escogerse al opción \n{Nuevos
  datos} del menú \n{Datos}.  Se nos pide entonces un nombre para el
conjunto de datos (pues pueden manejarse varios simultáneamente).

\begin{figure}[!h]
\begin{center}
    \includegraphics[scale = 1.2]{rintro/newdataset.eps}
  \end{center}
\end{figure}

Para introducir los datos simplemente se coloca el cursor en la celda
correspondiente a cada individuo y variable.  Para moverse de una
celda a otra se puede utilizar el ratón, o las teclas del cursor y
retorno para el desplazamiento vertical, o las teclas del cursor y
tabulador para el desplazamiento horizontal.

\begin{figure}[!h]
\begin{center}
    \includegraphics[scale = 0.8]{rintro/introdate.eps}
  \end{center}
\end{figure}

Al introducir los datos, se observa que R da por omisión nombre a las
variables (\m{var1}, \m{var2}, ...) y define sus características.  En
principio, una variable puede ser numérica (\n{numeric}) o de
caracteres (\n{character}).  Si se desea cambiar el nombre o definir
el tipo de variable hay que pulsar en la cabecera de la columna
correspondiente.

Téngase en cuenta que para representar variables cualitativas, es
decir, aquéllas cuyos valores toman un número finito de modalidades,
utilizaremos \textit{factores}.  Un factor se crea a partir de una
variable de tipo numérico, a cuyas categorías se asignan etiquetas,
como veremos más adelante.  \textsc{No use variables de tipo carácter}.

\subsection{Importar datos de un fichero externo}

El fichero externo puede contener datos en el formato ``binario''
(código objeto) nativo de R (ficheros con extensión \verb+Rdata+ o
\verb+Rda+), en texto puro (\textit{}{ASCII}), o en alguno de los
formatos binarios nativos de otros programas (SPSS, Excel...).

En el primer caso (formato nativo de R) úsese la opción \n{Cargar
  datos...} del Menú \n{Datos}.  En los otros casos ha de recurrirse
al menú \n{Datos / Importar datos}.

Los ficheros de texto (columnas de números) representan la forma más
universal para intercambio de datos.  Para importar datos de texto se
elegirá la opción \n{desde un fichero de texto}, que abrirá el cuadro
de diálogo \n{Leer datos de archivo de texto}.

\begin{figure}[!h]
\begin{center}
    \includegraphics[scale = 0.8]{rintro/fromtextfile.eps}
  \end{center}
\end{figure}

Es necesario indicar:
\begin{description}
\item[Introducir nombre de datos:] Para el conjunto
  construido a partir de los datos del fichero.
\item[Nombres de las variables en el fichero:] Si el fichero contiene
  los nombres de las variables en la primera fila.
\item[Indicador de datos ausentes:] Cómo se indica si un campo no contiene
  valores, esto es, que se considera un valor ausente.  Por omisión,
  el indicador es \m{NA} (\n{not available}, no disponible).  Puede
  dejarse así a menudo, pues si un campo de una variable numérica está vacío,
  también se considera ausente.
\item[Separador de campos:] Indique el carácter que separa los campos,
  bien espacio en blanco, comas,
  tabuladores, o cualquier otro carácter que se
  puede especificar.
\item[Carácter decimal:] Si se utiliza punto o coma para separar los
  decimales de la parte entera.
\end{description}

En el caso de ficheros binarios, se pueden abrir ficheros guardados
desde otros programas estadísticos, como SPSS y Minitab.  Así, para
abrir un fichero SPSS elegimos \n{desde datos SPSS} en el menú
\n{Datos / Importar datos}.

\subsection{Utilizar datos incluidos en R}

R incluye en su distribución una colección importante de datos de todo
tipo.  Para ver una descripción sucinta de los datos disponibles,
elija la opción \n{Listar datos en paquetes} del menú \n{Datos en
  paquetes}.

\begin{figure}[!h]
\begin{center}
    \includegraphics[scale = 0.8]{rintro/rdatasets.eps}
  \end{center}
\end{figure}

Si alguno resulta de interés, escoja, en el mismo menú, la opción
\n{Leer datos de paquete adjunto}.  Indique el paquete y el conjunto
de datos buscado, que se convertirá en el conjunto de datos activo.

\begin{figure}[!h]
\begin{center}
    \includegraphics[scale = 0.8]{rintro/titanic.eps}
  \end{center}
\end{figure}

\vfill\newpage
\section{Trasformaciones de las variables}

Vamos a utilizar diferentes opciones del menú \n{Datos / Modificar
  variables de los datos activos}.

Considérese el siguiente conjunto de datos \m{servidor.http}:

\begin{figure}[!h]
\begin{center}
    \includegraphics[scale = 0.8]{rintro/servidorhttp.eps}
  \end{center}
\vspace*{-0.75cm}\end{figure}

La variable \m{tipo} es un factor, y las variables \m{kb} y \m{https}
son numéricas.  Sin embargo, los valores de \m{https} son binarios,
donde 1 indica \textbf{sí} y 0 indica \textbf{no} (conexión segura o
insegura, respectivamente).

Vamos a considerar las siguientes trasformaciones:

\subsection{Recodificar}

Sirve para trasformar una variable cualquiera en una variable de tipo
factor (de caracteres).  Supongamos que queremos crear una variable
binaria que tome el valor 1 si un fichero es mayor de 100 \m{kb} (se
considera \textit{grande}) y 0 si no.  El cuadro de diálogo para
\n{Recodificar variable} sería:

\begin{figure}[!h]
\begin{center}
    \includegraphics[scale = 0.8]{rintro/recode.eps}
  \end{center}
\vspace*{-0.5cm}\end{figure}

\vfill\newpage
En la ventana de mensajes aparece \m{NOTE: The
dataset servidor.http
  has 11 rows and 4 columns.} lo que indica que se ha añadido una
columna.
\begin{figure}[!h]
\begin{center}
    \includegraphics[scale = 0.8]{rintro/postrecode.eps}
  \end{center}
\vspace*{-0.5cm}\end{figure}

\subsection{Calcular}

Aquí podemos definir una nueva variable (o sobrescribir una antigua)
mediante una expresión arbitraria.  Supongamos que queremos obtener la
variable \m{kib} a partir de \m{kb}\footnote{El prefijo \n{k} indica
  \n{kilo}, es decir, múltiplo $1000$; el prefijo \n{ki} indica
  \n{kibi}, es decir, múltiplo $2^{10}=1024$.  Véase
  \m{http://es.wikipedia.org/wiki/Prefijos\_binarios}.}.  La opción
correspondiente es \n{Calcular una nueva variable}.

\begin{figure}[!h]
\begin{center}
    \includegraphics[scale = 0.8]{rintro/kibi.eps}
  \end{center}
\vspace*{-1cm}\end{figure}

\vfill\newpage
Se añade una nueva columna a \m{servidor.http}:
\begin{figure}[!h]
\begin{center}
    \includegraphics[scale = 0.8]{rintro/postkibi.eps}
  \end{center}
\vspace*{-1cm}\end{figure}

\subsection{Convertir a factor}

Cuando una variable numérica representa, en realidad, a una variable
cualitativa en que los números son códigos correspondientes a las
modalidades, es necesario indicarlo al programa (ya que éste no puede
discernir si los números son cantidades o códigos).

Como se puede comprobar en las capturas de la sección anterior,
\m{grande} se considera factor\footnote{Ya que fue creada a partir de
  una recodificación, y por omisión el resultado es un factor.}
mientras que \m{https} no.  Vamos a utilizar la opción \n{Convertir
  variable numérica en factor}.

\begin{figure}[!h]
\begin{center}
    \includegraphics[scale = 0.8]{rintro/convert.eps}
  \end{center}
\vspace*{-0.5cm}\end{figure}

\vfill\newpage
Se ofrece la posibilidad de dar nombre a las
modalidades (\n{Asignar
  nombres a los niveles}).

\begin{figure}[!h]
\begin{center}
    \includegraphics[scale = 0.8]{rintro/levelnames.eps}
  \end{center}
\vspace*{-0.5cm}\end{figure}

En este caso hemos sustituido la definición anterior de \m{https} por la nueva.  Podíamos haber
elegido crear una nueva variable.

\begin{figure}[!h]
\begin{center}
    \includegraphics[scale = 0.8]{rintro/postlevelnames.eps}
  \end{center}
\vspace*{-0.5cm}\end{figure}

\subsection{Agrupar}

Mediante la recodificación habíamos visto cómo agrupar una variable numérica en intervalos.  La
opción \m{Segmentar variable numérica} permite agrupar en intervalos de forma cómoda, si nos conformamos
con obtener intervalos de alguna de las tres formas siguientes:
\begin{description}
\vspace*{-0.25cm}
\item[Segmentos equidistantes:] Intervalos de igual amplitud.
\item[Segmentos de igual cantidad:] Intervalos de igual frecuencia.
\item[Segmentos naturales:] Se aplica un algoritmo de agrupación
automática ($k$ medias) para obtener los intervalos.
\end{description}

Supongamos que queremos obtener $3$ grupos \textit{naturales} de casos según la variable \m{kb}.

Los nombres de los grupos se pueden especificar, o crearse automáticamente como números o como
rangos.

\begin{figure}[!h]
\begin{center}
    \includegraphics[scale = 0.75]{rintro/binnumeric.eps}
  \end{center}
\vspace*{-0.75cm}\end{figure}

Obtenemos un nuevo factor.

\begin{figure}[!h]
\begin{center}
    \includegraphics[scale = 0.8]{rintro/postbinnumeric.eps}
  \end{center}
\vspace*{-1cm}\end{figure}

\subsection{Renombrar}

La opción \n{Renombrar variables} permite cambiar el nombre a una o
varias de las variables del conjunto de datos activo.

\subsection{Eliminar}

La opción \n{Eliminar variables de los datos} permite eliminar una o
varias variables del conjunto de datos activo.

\vfill\newpage\thispagestyle{empty}
\chapter{Análisis descriptivo con una variable}
\label{estadistica-descriptiva-univariable}

Se pueden obtener resultados numéricos o representaciones gráficas.

\section{Análisis numéricos}

Los diferentes tipos de análisis numéricos para una variable se
albergan bajo la opción \n{Resúmenes} del menú \n{Estadísticas}.  Las
posibilidades son:

\subsection{Resumen rápido}

Pulsando \n{Datos activos}, se muestra una descripción de todas las
variables contenidas en un conjunto de datos (figura
\ref{summariesads}).  Para las variables cuantitativas, se indica:
máximo, mínimo, cuartiles y media.  Para las variables cuantitativas,
se da la frecuencia absoluta de las modalidades más frecuentes (y la
de los valores ausentes, si hay alguno).

\begin{figure}[!h]
\begin{center}
    \includegraphics[scale = 0.75]{rintro/summariesads.eps}
  \end{center}\vspace*{-0.5cm}\caption{Resumen de variables cuantitativas y cualitativas.}
\label{summariesads} \vspace*{-0.25cm}\end{figure}


Si hay más de diez variables en el conjunto de datos, R pide
confirmación, pues la abundancia de información puede resultar
incómoda.

\subsection{Resúmenes numéricos}

En \n{Resúmenes numéricos} podemos obtener los valores de la media
(\n{mean}), desviación típica (\n{standard deviation}) y cuantiles
(\n{quantiles}) arbitrarios para una variable cuantitativa (figura
\ref{numericalsum}).

\begin{figure}[!h]
\begin{center}
    \includegraphics[scale = 0.75]{rintro/numericalsum.eps} \\[1mm]
  \includegraphics[scale = 0.6]{rintro/postnumericalsum.eps}\end{center}\caption{Resúmenes numéricos}
  \label{numericalsum}
   \vspace*{-0.25cm}\end{figure}



Conviene resaltar que R utiliza la cuasivarianza, es decir, cuando se le pide que calcule la
varianza y la desviación típica, lo que da exactamente es el resultado de las fórmulas:
$$
\hat s^2 = \frac{1}{n-1} \sum_i (x_i - \bar x)^2 \qquad \hat s = \sqrt {\frac{1}{n-1} \sum_i (x_i -
\bar x)^2}
$$

Para calcular otros descriptivos ha de recurrirse a la ventana de instrucciones (figura
\ref{otrosestadisticos}).  En primer lugar, fíjese en que al efectuar el cálculo de la media
aparecía en la ventana de instrucciones la orden

\begin{verbatim}
mean(servidor.http$kb, na.rm=TRUE)
\end{verbatim}

Veamos cómo obtener el descriptivo deseado sustituyendo la orden \m{mean} por la que corresponda en
su lugar\footnote{La parte
  ``\texttt{, na.rm=TRUE}'' es opcional y se utiliza para obtener un
  valor numérico (en lugar de un valor ausente, NA) cuando los datos
  contienen valores ausentes.}.  Para ejecutar la orden, ha de
seleccionar la línea completa y pulsar \n{Submit}.

\begin{description}
\item[Mediana:] Utilice un cuantil de orden $0.5$, como se
  vio arriba, o bien la orden \m{median}:
\begin{verbatim}
median (servidor.http$kb)
\end{verbatim}

% \item[Media recortada:] Utilice el argumento \m{trim} de la función
%   \m{mean} para indicar la fracción (de $0$ a $0.5$) de observaciones
%   eliminadas de cada extremo de la muestra antes de calcular la media.
%   Por ejemplo, para una media recortada al $5$\% por cada extremo:
% \begin{verbatim}
% mean(servidor.http$kb, trim=0.05)
% \end{verbatim}

\item[Amplitud o recorrido:] Aquí es necesario combinar dos órdenes:
\begin{verbatim}
diff (range (servidor.http$kb))
\end{verbatim}
  Si la va a utilizar varias veces, es mejor definir una función
  \m{amplitud}:
\begin{verbatim}
amplitud <- function (x) diff (range (x))
amplitud (servidor.http$kb)
\end{verbatim}

\item[Recorrido intercuartílico:] Utilice la orden \m{IQR}:
\begin{verbatim}
IQR (servidor.http$kb)
\end{verbatim}

\item[Coeficiente de variación:] Definamos la función \m{CV}, bien en
  la forma más simple,
\begin{verbatim}
CV <- function (x) sd (x) / mean (x)
\end{verbatim}
  o, para obtener un valor numérico incluso en datos con valores ausentes,
\begin{verbatim}
CV <- function (x) sd (x, na.rm=TRUE) / mean (x, na.rm=TRUE)
\end{verbatim}

\item[Simetría:] Utilice \m{skewness} así\footnote{Puede
    ser necesario que antes cargue el paquete \m{fBasics}, eligiéndolo
    en el menu \n{Herramientas / Cargar paquete(s)}.}:
\begin{verbatim}
skewness (servidor.http$kb)
\end{verbatim}

\item[Curtosis:] La orden correspondiente es \m{kurtosis}\footnote{Puede
    ser necesario que antes cargue el paquete \m{fBasics}.}:
\begin{verbatim}
kurtosis (servidor.http$kb)
\end{verbatim}
\end{description}

\begin{figure}[!h]
\begin{center}
    \includegraphics[scale = 0.75]{rintro/otrosestadisticos.eps}
  \end{center}\vspace*{-0.5cm}\caption{Cálculo de descriptivos no incluidos en los menús.}
\label{otrosestadisticos}
   \vspace*{-0.25cm}\end{figure}


\vfill\newpage

\subsection{Distribuciones de frecuencias}

Para las variables cualitativas, puede confeccionarse con el procedimiento \n{Estadísticas /
Resúmenes / Distribución de frecuencias} una tabla donde aparezcan los valores de la variable, sus
frecuencias absolutas y las frecuencias relativas en forma de porcentajes.

\begin{figure}[!h]
  \begin{center}
    \includegraphics[scale = 0.8]{rintro/freqdist1.eps}\\[1mm]
    \includegraphics[scale = 0.6]{rintro/freqdist2.eps}
  \end{center}
\end{figure}



\section{Representaciones gráficas}

Las representaciones gráficas permiten captar rápidamente y sin gran
esfuerzo las principales características de una distribución de
frecuencias.  Son un medio complementario, aunque muy importante, para
realizar un análisis estadístico de los datos.

Están recogidas bajo el menú \n{Gráficas}.  Describimos sólo las
opciones de interés en nuestro curso.

Si la orden ejecutada proporciona una salida gráfica, R abre una nueva
ventana (\n{device}) que contiene el gráfico.  Éste puede ser grabado
en un fichero mediante la opción \n{Guardar gráfica} del menú
\n{Gráficas}.

% \subsection{Gráfica secuencial}

% La opción \n{Gráfica secuencial} permite representar una secuencia de observaciones de una variable
% cuantitativa, bien mediante barras finas (\n{spikes}) o puntos (\n{points}).

% \begin{figure}[!h]
% \begin{center}
%     \includegraphics[scale = 0.6]{rintro/indexplot1.eps}
%     \includegraphics[scale = 0.6]{rintro/indexplot2.eps}
%      \end{center}\vspace*{-0.5cm}\end{figure}



\subsection{Gráfico de sectores}

Bajo la opción \n{Gráfica de sectores}.  Para representar variables
cualitativas.  Véase la ilustración \ref{gra:sectores}.

\begin{figure}[h]
  \begin{center}
    \includegraphics[scale = 0.4]{rintro/sectores.eps}
  \end{center}
  \caption{Gráfica de sectores.}
  \label{gra:sectores}
\end{figure}


\subsection{Gráfico de barras}

Bajo la opción \n{Gráfica de barras}.  Para representar variables
cualitativas.  Véase la ilustración \ref{gra:barras}.

\begin{figure}[h]
  \begin{center}
    \includegraphics[scale = 0.5]{rintro/barras.eps}
  \end{center}
  \caption{Gráfica de barras.}
  \label{gra:barras}
\end{figure}



\subsection{Histograma}

Para representar la distribución de una variable cuantitativa, se
puede recurrir a la opción \n{Histograma}.  Es posible pedir el número
aproximado de barras o dejar la elección a un algoritmo automático.
Véase la ilustración \ref{gra:histograma2} en la página
\pageref{gra:histograma2}.

\begin{figure}[!h]
  \begin{center}
    \includegraphics[scale = 0.6]{rintro/histogram1.eps}
  \end{center}
  \caption{Cuadro de diálogo para construir un Histograma.}
  \label{gra:histograma1}
\end{figure}

\begin{figure}[h]
  \begin{center}
     \includegraphics[scale = 0.55]{rintro/histogram2.eps}
  \end{center}
  \caption{Histograma.}
  \label{gra:histograma2}
\end{figure}





\subsection{Tallo y hojas}

Se obtienen con la opción \n{Gráfica de tallos y hojas}.  Estos
gráficos se representan mediante caracteres, y se utilizan para
describir variables cuantitativas y permite visualizar globalmente la
distribución manteniendo la individualidad de los datos.  Tienen una
gran similitud con los histogramas pero representan directamente los
dígitos de los valores observados en vez de barras o rectángulos, por
lo que ofrecen mayor cantidad de información.

Expondremos a continuación un par de ejemplo.  El
primero corresponde a una muestra pequeña (once observaciones):
\begin{samepage}
\begin{verbatim}
                  > stem.leaf(servidor.http$kb)
                  1 | 2: represents 120
                   leaf unit: 10
                           n: 11

                     3    0* | 133
                    (3)   0. | 579
                     5    1* | 1
                          1. |
                     4    2* | 2
                     3    2. | 8
                     2    3* | 2
                  HI: 875
\end{verbatim}
\end{samepage}


Para obtenerlo, se ha utilizado Rcommander, cuyo cuadro de diálogo
para obtener un diagrama de tallo y hojas se muestra en la ilustración
\ref{gra:tallo} en la página \pageref{gra:tallo}.

\begin{figure}[h]
  \begin{center}
    \includegraphics[scale = 0.6]{rintro/stemleaf.eps}
  \end{center}
  \caption{Diagrama de tallo y hojas.}
  \label{gra:tallo}
\end{figure}

Veamos otro ejemplo con una muestra más grande (tamaño 97):

\begin{samepage}
\begin{verbatim}
               > stem.leaf(MisDatos$MiVar, unit=1)
               1 | 2: represents 12
                leaf unit: 1
                        n: 97

                   1    -3. | 7
                   2    -3* | 0
                   8    -2. | 877665
                  22    -2* | 44443322222100
                  27    -1. | 99976
                  38    -1* | 33221110000
                 (16)   -0. | 9998876666665555
                  43    -0* | 444443322111
                  31     0* | 00023444
                  23     0. | 5566678999
                  13     1* | 1234444
                   6     1. | 59
                   4     2* | 02
                   2     2. | 5
               HI: 42
\end{verbatim}
\end{samepage}

Para interpretar las gráficas de tallo y hojas, téngase en cuenta que:
\begin{itemize}
\item El \emph{tallo} representa la cifra más significativa del valor
  de cada valor de la muestra.
\item Cada hoja representa, mediante la siguiente cifra significativa,
  el valor correspondiente a una sola observación.
\item Se indica la ``escala'' mediante la indicación \emph{leaf unit}
  (\verb+1+ indica unidades, \verb+10+ decenas...), así como mediante
  la explicación de en qué posición (magnitud) se encuentra la barra
  vertical: \verb+1 | 2: represents 12+.
\item Los valores atípicos se indican por \verb+HI+ (si son altos) o
  por \verb+LO+ (si son bajos).
\item Los números de la columna a la izquierda indican frecuencias
  absolutas acumuladas hacia los extremos, salvo el número entre
  paréntesis, que indica la frecuencia absoluta de la barra en que
  está situada la mediana.
\end{itemize}


\subsection{Gráfico de cajas}

Se obtienen con la opción \n{Diagrama de caja}.  Véase la ilustración
\ref{gra:cajas} en la página \pageref{gra:cajas}.

\begin{figure}[h]
  \begin{center}
    \includegraphics[scale = 0.8]{rintro/box3.eps}
  \end{center}
  \caption{Diagrama de cajas.}
  \label{gra:cajas}
\end{figure}


\vfill\newpage\thispagestyle{empty}\newpage

\chapter{Análisis descriptivo con dos variables}

\section{Dos variables cualitativas}

La relación entre dos variables cualitativas se estudia a través de la
distribución conjunta de las mismas.

Dado un conjunto de datos que contenga más de una variable
cualitativa, elija \n{Estadísticos / Tablas de contingencia /
Tabla de doble entrada} para hallar la distribución conjunta de
dos de ellas. El cuadro de diálogo permite calcular las
frecuencias marginales por filas o columnas.


\ventana[0.7]{twowaytable}

\ventana[0.67]{twowaytableout}

Téngase en cuenta que, si se quiere introducir directamente una
tabla de frecuencias en R, se ha de emplear la opción
\n{Estadísticos / Tablas de contingencia / Introducir y analizar
una tabla de doble entrada}.

\ventana[0.67]{entertable}

Si se trata de estudiar la distribución conjunta de más de dos
variables, utilice \n{Estadísticos / Tablas de contingencia /
Tabla de entradas múltiples}.

\vspace*{-0.25cm}\ventana[0.7]{multiwaytable}

La salida presenta una tabla de frecuencias por cada combinación
de las restantes variables: \vspace*{-0.25cm}\begin{verbatim}
              , , cyl = 4        , , cyl = 6          , , cyl = 8

                 vs                  vs                    vs
              am   0  1           am   0  1             am   0  1
                0  0  3             0  0  4               0 12  0
                1  1  7             1  3  0               1  2  0
\end{verbatim}



\section{Variable cuantitativa frente a variable cualitativa}

A menudo interesa analizar el comportamiento de una variable
cuantitativa según los niveles de un factor (por ejemplo, por
sexos).  En los cuadros de diálogo que lo permiten, existe un
botón para los cálculos por grupos (\n{Resumir por grupos}). Por
ejemplo, en el cálculo de descriptivos:

\ventana[0.7]{numericalsummaries}
\ventana[0.5]{numericalsummaries2}

\vspace*{-0.25cm}En el ejemplo, se solicitan cuartiles para cada
nivel de la variable \m{cyl}. Los niveles de \m{cyl} son $4$, $6$
y $8$: \vspace*{-0.25cm}\begin{verbatim}
    0%    25%    50%   75%   100%   n
4  21.4  22.80  26.0  30.40  33.9  11

6  17.8  18.65  19.7  21.00 21.4   7

8  10.4  14.40  15.2  16.25  19.2  14

\end{verbatim}

Para hallar descriptivos según grupos definidos a partir de
combinaciones de dos o más factores, se recurre a \n{Estadísticos
/ Resúmenes / Tabla de estadísticas}.

\ventana[0.6]{tableofstatistics}

 \vspace*{-0.25cm} \begin{verbatim}
                  cyl
          am                4          6          8
            Autom. 0.06343161 0.08531853 0.18434524
            Manual 0.15971006 0.03649378 0.03673282
  \end{verbatim}


En cuanto a los gráficos, se pueden realizar gráficos de cajas
(\n{Gráficas / Diagrama de cajas}) de una variable cuantitativa
respecto de un factor.

\ventana[0.9]{boxplotout}


\end{document}
