Medellı́n, 20-23 de julio de 2010 La utilización del paquete R en la docencia de bachillerato U GARTE , M.D. D EPARTAMENTO DE E STAD ÍSTICA E I.O. U NIVERSIDAD P ÚBLICA DE N AVARRA , PAMPLONA , E SPA ÑA (trabajo en colaboración con Ana F. Militino y Tomás Goicoa) 1. Objetivos • Presentar los contenidos de probabilidad y estadı́stica en el currı́culum del bachillerato en España. • Mostrar con ejemplos cómo utilizar el paquete estadı́stico R (de libre distribución) en la impartición de contenidos de estadı́stica descriptiva, probabilidad, nociones de inferencia estadı́stica básicas y simulaciones sencillas. • Presentar el paquete R-Commander como alternativa a la utilización del lenguaje de comandos de R. 1 LAS MATEMÁTICAS EN SECUNDARIA Matemáticas 4h/s 1º ESO: Bachillerato: Ciencias y Tecnología *Matemáticas Básicas: 3h/s Matemáticas I y II (4h/s) Matemáticas 4h/s 2º ESO: 3º ESO: 4º ESO: *Ampliación de matemáticas: 3h/s Bachillerato: Humanidades y Ciencias Sociales Matemáticas 4h/s Matemáticas Aplicadas a las Ciencias Sociales I y II. (4h/s) Matemáticas: opción A y opción B 4h/s *Profundización de matemáticas: 2h/s 2 Estadística y probabilidad en el bachillerato Ciencias y tecnología Humanidades y Ciencias Sociales MATEMÁTICAS I MATEMÁTICAS APLICADAS A LAS C. SOCIALES I Distribuciones bidimensionales. Relaciones entre dos variables estadísticas. Regresión lineal. Estadística descriptiva unidimensional. Tipos de variables. Métodos estadísticos. Tablas y gráficos. Parámetros estadísticos de localización, de dispersión y de posición. Estudio de la probabilidad compuesta condicionada, total y a posteriori. Distribuciones bidimensionales. Interpretación de fenómenos sociales y económicos en los que intervienen dos variables a partir de la representación gráfica de una nube de puntos. Grado de relación entre dos variables estadísticas. Regresión lineal. Extrapolación y resultados. Distribuciones binomial y normal como herramienta para asignar probabilidades a sucesos. Asignación de probabilidades a sucesos. Distribuciones de probabilidad binomial y normal. MATEMÁTICAS II MATEMÁTICAS APLICADAS A LAS C. SOCIALES II No hay contenidos de estadística y probabilidad Profundización en los conceptos de probabilidades a priori y a posteriori, probabilidad compuesta, condicionada y total. Teorema de Bayes. Implicaciones prácticas de los teoremas: Central del límite, de aproximación de la Binomial a la Normal y Ley de los Grandes Números. Problemas relacionados con la elección de las muestras. Condiciones de representatividad. Parámetros de una población. Distribuciones de probabilidad de las medias y proporciones muestrales. Intervalo de confianza para el parámetro p de una distribución binomial y para la media de una distribución normal de desviación típica conocida. Contraste de hipótesis para la proporción de una distribución binomial y para la media o diferencias de medias de distribuciones normales con desviación típica conocida. 3 2. Estadı́stica y probabilidad en el Bachillerato Modalidad Ciencias y Tecnologı́a Contenidos de Estadı́stica y Probabilidad en MATEMÁTICAS I • Distribuciones bidimensionales. Relaciones entre dos variables estadı́sticas. Regresión lineal. • Estudio de la probabilidad compuesta, condicionada, total y a posteriori. • Distribuciones binomial y normal como herramienta para asignar probabilidades a sucesos. 4 3. Estadı́stica y probabilidad en el Bachillerato Modalidad Ciencias y Tecnologı́a Contenidos de Estadı́stica y Probabilidad en MATEMÁTICAS II • No hay contenidos de estadı́stica y probabilidad. 5 4. Estadı́stica y probabilidad en el Bachillerato Modalidad Humanidades y Ciencias Sociales Contenidos de Estadı́stica y Probabilidad en MATEMÁTICAS APLICADAS A LAS CIENCIAS SOCIALES I • Estadı́stica descriptiva unidimensional. Tipos de variables. Tablas y gráficos. Parámetros estadı́sticos de localización, de dispersión y de posición. • Distribuciones bidimensionales. Interpretación de fenómenos sociales y económicos en los que intervienen dos variables a partir de la representación gráfica de una nube de puntos. Grado de relación entre dos variables estadı́sticas. Regresión lineal. Extrapolación de resultados. • Asignación de probabilidades a sucesos. Distribuciones de probabilidad binomial y normal. 6 5. Estadı́stica y probabilidad en el Bachillerato Modalidad Humanidades y Ciencias Sociales Contenidos de Estadı́stica y Probabilidad en MATEMÁTICAS APLICADAS A LAS CIENCIAS SOCIALES II • Profundización en los conceptos de probabilidades a priori y a posteriori, probabilidad compuesta, condicionada y total. Teorema de Bayes. • Implicaciones prácticas de los teoremas: Central del lı́mite, de aproximación de la Binomial a la Normal y Ley de los Grandes Números. • Problemas relacionados con la elección de las muestras. Condiciones de representatividad. Parámetros de una población. • Distribuciones de probabilidad de las medias y proporciones muestrales. 7 • Intervalo de confianza para el parámetro p de una distribución binomial y para la media de una distribución normal de desviación tı́pica conocida. • Contraste de hipótesis para la proporción de una distribución binomial y para la media o diferencias de medias de distribuciones normales con desviación tı́pica conocida. 8 6. R-Commander • R-Commander es una interfaz gráfica para R desarrollada por John Fox. • Entre las ventajas de R-Commander para su uso en la docencia de estadı́stica en paı́ses de habla hispana destacan que está disponible en castellano. • Permite realizar estadı́stica básica y gráficos, además de contener algunas demos interesantes para enseñar estadı́stica en el bachillerato. 9 7. Cargar R-Commander • En primer lugar será necesario iniciar R. Para aquellos que no disponen de R deben bajarlo de: http://cran.r-project.org/ • Después hay que instalar el paquete R-Commander desde el menú Paquetes =⇒ Instalar paquete(s). • Tras instalarlo hay que cargarlo o bien tecleando en la ventana de comandos de R >library(Rcmdr) o bien seleccionando el paquete concreto Rcmdr desde el menú Paquetes =⇒ Cargar paquete. 10 • Otra alternativa interesante es utilizar el paquete R-UCA, de modo que al iniciar R se carga automáticamente el paquete R-Commander. El paquete R-UCA se puede descargar de: http://knuth.uca.es/R/doku.php?id=inicio • Si se ha cerrado R-Commander sin cerrar R, se puede reiniciar R-Commander introduciendo la instrucción “Commander()” en la consola de R. 11 8. Visualizar R-Commander R-Commander se divide de arriba a abajo en cinco partes: 1. Menú de R-Commander 2. Barra de Herramientas 3. Ventana de Instrucciones 4. Ventana de Resultados 5. Ventana de Mensajes 12 Menú Barra de herramientas Ventana de instrucciones Ventana de resultados Mensajes 13 9. Menú de R-Commander La primera franja horizontal contiene el menú de la interfaz. Pulsando sobre las diferentes opciones se despliegan los correspondientes menús. Las opciones del menú son: • Fichero: Permite guardar las instrucciones y los resultados de una sesión de trabajo. Además permite terminar la aplicación. • Editar: Contiene las opciones habituales relacionadas con la edición: ”Cortar”, ”Copiar”, ”Pegar”, ”Borrar”, ”Buscar...”, ”Seleccionar todo”, ”Deshacer”, ”Rehacer”, ”Limpiar ventana”. • Datos: Mediante las opciones de este menú se pueden cargar, editar y guardar datos. Además se puede acceder a los datos de ejemplo que vienen con R. Otras opciones de este mismo menú permiten operaciones con los 14 datos, como por ejemplo, recodificación, tipificación, construcción de nuevas variables, ... • Estadı́sticos: Muestra el conjunto de procedimientos estadı́sticos que pueden llevarse a cabo. • Gráficas: Contiene las distintas representaciones gráficas que se pueden hacer. • Modelos: Permite una serie de opciones sobre los modelos ajustados. Por ejemplo, seleccionar modelos, etc. • Distribuciones: Permite calcular cuantiles y probabilidades de las distribuciones de probabilidad discretas y continuas más comunes ası́ como realizar representaciones gráficas y simular muestras. • Herramientas: Mediante este menú se pueden cargar paquetes, complementos (plugins) para R-Commander y se puede configurar la interfaz. • Ayuda: Muestra ayuda sobre R-Commander. 15 10. Barra de Herramientas • Conjunto de datos: Este botón muestra el nombre del conjunto de datos activo o la leyenda “No hay conjunto de datos activo” cuando todavı́a no se ha cargado o creado ningún conjunto de datos. Pulsando sobre este botón, se despliega un menú que permite activar otro conjunto de datos, entre los disponibles. • Editar conjunto de datos: Permite la edición del conjunto de datos activo en un entorno similar al de una hoja de cálculo. Durante la edición de los datos no es posible realizar ninguna otra operación con R. Por ello, es absolutamente imprescindible cerrar la ventana de edición de datos antes de intentar cualquier otra operación. • Visualizar conjunto de datos: Muestra una ventana con los datos del conjunto de datos activo en formato similar al anterior. Esta ventana no permite 16 la modificación de los datos, pero puede mantenerse abierta mientras se continúa haciendo operaciones. • Modelo: La leyenda muestra el nombre del modelo activo o la leyenda “No hay modelo activo” cuando no se ha construido ningún modelo previamente. La pulsación sobre dicho botón permite la selección del modelo en uso de entre los disponibles. 17 11. Ventana de Instrucciones • En esta ventana se introducen las instrucciones de R para su evaluación. • R-Commander funciona introduciendo en esta ventana las instrucciones necesarias para realizar los cálculos o gráficos correspondientes a las opciones seleccionadas en los menús. Esta ventana permite la modificación y la ejecución de código, tanto del introducido manualmente como del introducido por R-Commander. 18 12. Ventana de Resultados • Es la ventana donde se copian las instrucciones ejecutadas seguidas de los resultados producidos. Esta ventana permite la modificación de su contenido pero no permite la ejecución de código. • Las instrucciones se muestran en rojo y van precedidas del sı́mbolo “>”. • Las salidas se muestran en azul. 19 13. Ventana de Mensajes En esta ventana se muestran mensajes de información referida a las instrucciones evaluadas. El significado del mensaje se refuerza con un código de color: • Rojo (Error): Se ha producido un error en la evaluación de la expresión, por lo que no se obtiene ningún resultado. El mensaje informa del motivo del error. • Verde (Aviso): La expresión ha sido evaluada, si bien el resultado podrı́a no ser el esperado. El mensaje muestra información detallada del motivo del aviso. • Azul: Muestra información de carácter general. 20 14. Cargar conjunto de datos en R-Commander • R contiene muchos conjuntos de datos preparados para su uso. Para utilizar un conjunto de datos hay que cargarlo previamente. • Después de iniciar R y R-Commander, observa la leyenda “Conjunto de datos: <No hay conjunto de datos activo>” en la barra de herramientas. Esto indica que todavı́a no se ha cargado ningún conjunto de datos. • Para cargar el conjunto de datos “vit2005”, del paquete PASWR se procede de la siguiente forma: 21 – Se instala y carga el paquete PASWR. – En el menú de R-Commander se seleccionan las opciones “Datos =⇒ Conjuntos de datos en paquetes =⇒ Leer conjunto de datos desde paquete adjunto”. 22 – En la parte izquierda del cuadro de diálogo selecciona “PASWR”, haciendo una pulsación doble sobre “PASWR”. – En la parte derecha se selecciona “vit2005” y se realiza una pulsación doble sobre él. Finalmente se pulsa el botón “Aceptar”. – R-Commander puede cargar varios conjuntos de datos, pero opera únicamente sobre el conjunto de datos activo. 23 15. Visualización de Datos • Para visualizar el conjunto de datos activo, en la barra de herramientas se pulsa sobre el botón “Visualizar conjunto de datos”. Los datos se muestran en formato tabla en una nueva ventana fuera de la ventana de RCommander. Dicha ventana queda a veces oculta por debajo de otras ventanas. A veces es preciso minimizar las otras ventanas para acceder a la ventana de datos. • La ventana de visualización de datos no permite la modificación de éstos, pero puede mantenerse abierta mientras se continúa haciendo operaciones. 24 16. Edición de Datos • Para editar el conjunto de datos activo, en la barra de herramientas se pulsa sobre el botón “Editar conjunto de datos”. Los datos se muestran en formato tabla en una nueva ventana. • El editor de datos es muy simple y permite pocas operaciones pero es capaz de importar datos desde un gran número de formatos. • Los datos aparecen en una nueva ventana fuera de la ventana de R-Commander. Dicha ventana queda a veces oculta por debajo de otras ventanas. A veces es necesario minimizar las otras ventanas para acceder a la ventana de datos. 25 • La ventana de edición de datos no puede mantenerse abierta mientras se continúa haciendo operaciones. R parece bloquearse, queda en espera, hasta que se cierra la ventana de edición de datos. 26 17. Guardar Datos • Los cambios que se realizan afectan a los datos en memoria. Para que los cambios sean permanentes el conjunto de datos debe guardarse. • Para guardar el conjunto de datos activo en formato texto, en el menú de R-Commander, se seleccionan las opciones “Datos=⇒Conjunto de datos activo=⇒Exportar el conjunto de datos activo...”, y se marcan las casillas correspondientes al formato de salida deseado. 27 • Si se desean guardar los datos en el formato de R, se seleccionan las opciones “Datos=⇒Conjunto de datos activo=⇒Guardar el conjunto de datos activo...”. 28 18. Resumir Datos • Para obtener un resumen de todos los datos del conjunto de datos activo, se seleccionan en el menú de R-Commander las opciones: “Estadı́sticos =⇒ Resúmenes =⇒Conjunto de datos activo”. • Se puede observar que se obtienen diferentes tipos de resultados en función de la columna, es decir, en función del tipo de variable considerada. 29 > summary(vit2005) row.labels totalprice Min. : 1.00 Min. :155000 1st Qu.: 55.25 1st Qu.:228500 Median :109.50 Median :269750 Mean :109.50 Mean :280742 3rd Qu.:163.75 3rd Qu.:328625 Max. :218.00 Max. :560000 floor Min. : 1.00 1st Qu.: 3.00 Median : 4.00 Mean : 4.44 3rd Qu.: 5.00 Max. :12.00 elevator Min. :0.0000 1st Qu.:1.0000 Median :1.0000 Mean :0.7982 3rd Qu.:1.0000 Max. :1.0000 area Min. : 50.38 1st Qu.: 75.18 Median : 86.39 Mean : 88.70 3rd Qu.: 99.90 Max. :187.91 zone category age Z41 : 18 2A: 4 Min. : 1.0 Z53 : 16 2B:14 1st Qu.: 11.0 Z52 : 15 3A:61 Median : 16.0 Z61 : 14 3B:77 Mean : 19.9 Z62 : 14 4A:36 3rd Qu.: 24.0 Z45 : 13 4B:23 Max. :118.0 (Other):128 5A: 3 rooms out conservation toilets garage Min. :3.000 E100:122 1A:161 Min. :1.000 Min. :0.0000 1st Qu.:5.000 E25 : 3 2A: 18 1st Qu.:1.000 1st Qu.:0.0000 Median :5.000 E50 : 87 2B: 36 Median :1.000 Median :0.0000 Mean :4.853 E75 : 6 3A: 3 Mean :1.468 Mean :0.2431 3rd Qu.:5.000 3rd Qu.:2.000 3rd Qu.:0.0000 Max. :7.000 Max. :2.000 Max. :2.0000 streetcategory heating tras S2: 42 1A: 8 Min. :0.0000 S3:107 3A:149 1st Qu.:1.0000 S4: 59 3B: 10 Median :1.0000 S5: 10 4A: 51 Mean :0.8073 3rd Qu.:1.0000 Max. :2.0000 30 19. Representaciones Gráficas • Para hacer un diagrama de barras de la variable “streetcategory” del conjunto de datos “vit2005”, en el menú de R-Commander selecciona las opciones: “Gráficas=⇒Gráfica de barras...”. A continuación, selecciona la variable “streetcategory” y pulsa el botón “Aceptar”. 31 • Obtendrás el diagrama de barras de la variable “streetcategory”. • La gráfica aparece en una nueva ventana fuera de la ventana de R-Commander. Dicha ventana queda a veces oculta por debajo de otras ventanas. A veces es necesario minimizar las otras ventanas para acceder a la ventana de gráficos. 32 100 80 60 0 20 40 Frequency S2 S3 S4 streetcategory 33 S5 20. Modificación del gráfico A veces el resultado obtenido usando R-Commander no será de nuestro agrado. Se puede utilizar la ventana de instrucciones para modificar un poco el gráfico. Vamos a ver cómo cambiar el color del gráfico: 1. En la ventana de instrucciones se modifica la lı́nea barplot(table(vit2005$streetcategory),xlab="streetcategory",ylab="Frequency") añadiendo el argumento col=“red”. 34 barplot(table(vit2005$streetcategory), xlab="streetcategory", ylab="Frequency", col="red") 2. Coloca el cursor en la lı́nea modificada o selecciona la lı́nea completa. Si la orden ocupa más de una lı́nea seleccionarlas todas. 3. Pulsa el botón “Ejecutar” en la parte inferior de la ventana de instrucciones. 35 100 80 60 0 20 40 Frequency S2 S3 S4 streetcategory 36 S5 Podemos probar ahora con la orden: barplot(table(vit2005$streetcategory), xlab="streetcategory", ylab="Frequency", col=terrain.colors(4), main="Categorı́a de la calle") 37 0 20 40 Frequency 60 80 100 Categoría de la calle S2 S3 S4 streetcategory 38 S5 21. Estadı́stica descriptiva. Ejemplo Tareas: 1. Crear un fichero de texto (ascii ) con las siguientes notas cualitativas de 10 alumnos: A, D, C, D, C, C, C, C, F y B. Lo llamamos notas.txt. 2. Leer el fichero desde R-Commander. Para ello pinchamos en el menú de R-Commander: Datos=⇒Importar Datos=⇒Desde archivo de texto... Aparece una ventana pequeña donde debemos escribir el nombre del objeto donde guardamos los datos y las caracterı́sticas de la lectura del archivo. 39 3. Crear la distribución de frecuencias de la variable notas y los porcentajes de alumnos con cada tipo de calificación. Para ello seleccionamos desde el menú Estadı́sticos=⇒Resúmenes=⇒Distribución de frecuencias 40 Nota: Podı́amos tb haber introducido los datos directamente en R-Commander siguiendo los siguientes pasos: 1. Pinchar desde el menú de R-Commander Datos=⇒Nuevo conjunto de datos 2. A continuación aparece una ventana pequeña donde debemos dar nombre al conjunto de datos. 3. Por último se abre un editor de datos donde podemos escribir los datos directamente. Obviamente introducir directamente los datos es cómodo si el conjunto de datos es pequeño. 41 22. Resultados > .Table Resultados # counts for notas A C D F 1 5 3 1 > 100*.Table/sum(.Table) # percentages for notas A C D F 10 50 30 10 42 Si quisiéramos calcular frecuencias relativas (proporciones), podrı́amos teclear en la Ventana de instrucciones table(notas$notas)/10 y tras seleccionar la orden pinchar en el botón Ejecutar Instrucción notas <- read.table("C:/Documents and Settings/itziar.arrieta/Mis documentos/charla1/notas.txt", header=TRUE, sep="", na.strings="NA", dec=".", strip.white=TRUE) .Table <- table(notas$notas) .Table # counts for notas 100*.Table/sum(.Table) # percentages for notas remove(.Table) table(notas$notas)/10 > .Table A C D F 1 5 3 1 # counts for notas > 100*.Table/sum(.Table) A C D F 10 50 30 10 Resultados # percentages for notas > table[notas$notas]/10 A C D F 0.1 0.5 0.3 0.1 43 Nota: Claramente para un conjunto de datos tan pequeño no precisamos el ordenador. Sin embargo, los alumnos tienen que entender que muchas veces los conjuntos de datos son grandes y las cuentas no se pueden hacer a mano o con una calculadora. Ejemplo: Disponemos de un conjunto de datos reales obtenidos del Instituto Nacional de Estadı́stica. Los datos se han obtenido a partir de la Encuesta de Presupuestos Familiares del año 2006, que recoge información sobre el gasto de los hogares españoles. El fichero de datos se denomina hogar.csv. 44 Nota: Este fichero se importa como un fichero de texto cuyos campos están separados por ;. 45 23. Ejercicio descriptiva para los alumnos 1. Los datos del fichero hogar recogen datos de los hogares españoles. ¿Cuántos hogares se han entrevistado? ¿Cuántas variables se han recogido? 2. La variable sexosp recoge el sexo del sustentador principal (1=hombre y 6=mujer). ¿En cuántos hogares el sustentador principal es una mujer? ¿Cuál es el porcentaje de hogares cuyo sustentador principal es hombre? 3. La variable tipmiemb indica la composición del hogar (según esté habitado por 1, 2, 3, 4, 5 ó 6 personas). ¿Qué proporción de hogares está habitado por dos personas? 4. Realiza un diagrama de barras según la composición de hogares. Pon un tı́tulo y da color al gráfico. 46 24. Resultados 1. Una vez cargado el fichero en la ventana de mensajes aparece la dimensión del fichero. El conjunto de datos hogar tiene 19435 filas y 19 columnas. Es decir, se ha recogido información de 19435 hogares. [1] NOTA: Versión de R Commander 1.5-6: Fri Jul 02 14:00:56 2010 [2] NOTA: El conjunto de datos hogar tiene 19435 filas y 19 columnas. 47 2. En el fichero la variable sexosp es numérica. Para poder responder a la pregunta desde R-Commander hay que convertirla primero en factor. En el menú pinchar Datos=⇒Modificar variables del conjunto de datos activo =⇒ Convertir variable numérica en factor. 48 Seleccionamos la opción: Estadı́sticos=⇒Resúmenes=⇒Distribución de frecuencias, y escogemos la columna sexosp. > .Table <- table(hogar$sexosp) > .Table # counts for sexosp Hombre Mujer 14907 4528 > 100*.Table/sum(.Table) Hombre Mujer 76.70183 23.29817 # percentages for sexosp En 4528 hogares el sustentador principal es mujer. Hay un 76.7 % de hogares con sustentador principal hombre. 49 3. Debemos calcular frecuencias relativas (a través de la ventana de instrucciones). table(hogar$tipmiemb)/19435 > table(hogar$tipmiemb)/19435 1 2 3 4 5 6 0.14201183 0.29102135 0.25016722 0.22737330 0.06622074 0.02320556 La proporción de hogares con dos personas es 0.29. 50 4. Para realizar el diagrama de cajas y modificarlo un poco Ventana de instrucciones barplot(table(hogar$tipmiemb), xlab="tipmiemb", ylab="Frequency", ylim=c(0,6000),main="Composición de los hogares", col="orange") 51 3000 2000 1000 0 Frequency 4000 5000 6000 Composición de los hogares 1 2 3 4 tipmiemb 52 5 6 25. Correlación y Regresión Lineal • Con el conjunto de datos “vit2005”, vamos a realizar un diagrama de dispersión de las variables area y totalprice. • Para ello desde el menú de R-Commander pinchar Gráficas=⇒Diagrama de Dispersión. Se abre una ventana donde podemos explicitar la variables explicativa (x) y explicada (y). • Tras observar que existe una relación lineal entre ellas, podemos ajustar la recta, obtener los parámetros (ordenada en el origen y pendiente) y el coeficiente de determinación (cuadrado del coeficente de correlación lineal) desde el menú de R-Commander (pinchando Estadı́sticos=⇒Ajuste de modelos=⇒Regresión Lineal) 53 ● 5e+05 ● ● ● ● ● ● ● 4e+05 ● ● ● ● ● ● ● ● ● ● ● totalprice ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ●● ● ● ● 3e+05 ● ● ● ● ● ● 2e+05 ● ● ●● ● ●● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ●● ●●● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ●● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● 60 80 100 120 140 160 180 area ●● 54 ● ● ● ● 26. Resultados >scatterplot(totalprice˜area, reg.line=lm, smooth=FALSE, labels=FALSE, boxplots=’xy’, span=0.5, data=vit2005) #Diagrama de dispersión > RegModel.2 <- lm(area˜totalprice, data=vit2005) #ajuste del modelo de regresión > summary(RegModel.2) ... Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 2.073e+01 3.458e+00 5.996 8.4e-09 *** totalprice 2.421e-04 1.196e-05 20.243 < 2e-16 *** Residual standard error: 12.21 on 216 degrees of freedom Multiple R-squared: 0.6548, Adjusted R-squared: 0.6532 F-statistic: 409.8 on 1 and 216 DF, p-value: < 2.2e-16 La recta buscada es totalprice = 2.073 + 0.0002421 area, R2 = 0.6548. 55 27. Demos sobre Correlación y Regresión Lineal • Podemos instalar plugins (extensiones) en R-Commander. En concreto hay un plugin que incluye demos que pueden ser útiles para facilitar la comprensión de las ideas de correlación y regresión lineal. • Para ello hay que instalar previamente el paquete RcmdrPlugin.TeachingDemos • A continuación desde el menú de R-Commander ir a Herramientas=⇒Cargar plugin(s) de Rcmdr. Se abre una nueva ventana donde elegimos aceptar. Una vez hecho esto nos solicita reiniciar R-Commander y le decimos que sı́. • En este momento se ha añadido al menú de R-Commander una nueva opción denominada Demos. 56 28. Inferencia estadı́stica: Intervalos y Contrastes Intervalo de confianza para la media de una población normal con varianza conocida Consideremos el siguiente ejercicio correspondiente a 2o de Bachillerato: Ejercicio Una muestra aleatoria de 9 tarrinas de helado proporciona los siguientes pesos en gramos: 88 90 90 86 87 88 91 92 89- Halla un intervalo de confianza al 95% para la media poblacional sabiendo que el peso de las tarrinas sigue una distribución normal con una desviación tı́pica de 1.8 g. 57 • Para resolver este ejercicio con Rcmdr, deberemos utilizar la ventana de instrucciones. • R no dispone de una función especı́fica para tratar el caso de una población normal con varianza conocida. Sin embargo, la librerı́a PASWR incorpora la función z.test que permite obtener intervalos de confianza para la media de una población normal con varianza conocida. • En primer lugar, debemos introducir los datos en Rcmdr y guardarlos en un fichero llamado helado. Para calcular el intervalo de confianza necesitamos cargar la librerı́a PASWR y utilizar la función z.test de la siguiente forma > library(PASWR) > z.test(helado$gramos,sigma.x=1.8)$conf 58 Resultado: > z.test(helado$gramos,sigma.x=1.8)$conf [1] 87.82402 90.17598 attr(,"conf.level") [1] 0.95 Luego el peso medio de las tarrinas de helado se encontrará entre los 87.82 gramos y los 90.176 gramos con una confianza del 95% Si quisiésemos cambiar el nivel de confianza del intervalo basta con añadir a la función z.test el argumento conf.level. Ejemplo: Para obtener un intervalo de confianza al 90% hay que escribir > z.test(helado$gramos,sigma.x=1.8, conf.level=0.9)$conf 59 Contraste para la media de una población normal con varianza conocida Para ilustrar este contraste, continuaremos trabajando con el ejemplo de las tarrinas de helado. Vamos a contrastar si la media poblacional es igual a 90 g o si es distinta. El contraste que realizamos es H1 : µ 6= 90 H0 : µ = 90 Para resolverlo en R, teclear en la ventana de instrucciones de Rcmdr > library(PASWR) > z.test(helado$gramos,mu=90,sigma.x=1.8) 60 Resultado: > z.test(helado$gramos,mu=90,sigma.x=1.8) One-sample z-Test data: helado$gramos z = -1.6667, p-value = 0.09558 alternative hypothesis: true mean is not equal to 90 95 percent confidence interval: 87.82402 90.17598 sample estimates: mean of x 89 61 Observemos que la salida proporciona el p-valor del contraste que como es superior a 0.05, no podemos rechazar la hipótesis nula. La función z.test proporciona además un intervalo de confianza al 95% para el valor verdadero de µ. Si quisiéramos realizar un contraste unilateral del tipo (mu ≥ µ0 ó µ ≤ µ0 basta con añadir el argumento alternative=“greater” ó alternative=“less”, respectivamente. > z.test(helado$gramos,mu=90,sigma.x=1.8, alternative="greater") 62 29. Simulaciones sencillas Distribución en el muestreo de la media muestral La media muestral sigue una distribución normal si la población es normal. Si la población no es normal, el teorema central del lı́mite garantiza la normalidad de la media muestral siempre que el tamaño muestral sea grande. En primer lugar, vamos a generar 1000 muestras de tamaño 10 de una población normal estándar (de media 0 y desviación tı́pica 1) y vamos a comprobar que la media muestral sigue una distribución normal. Desde el menú de R-Commander pinchar: Distribuciones=⇒Distribuciones continuas=⇒Distribución normal =⇒muestra de una distribución normal 63 Introducimos el nombre del fichero que vamos a generar con las muestras (normal10) y la media y desviación tı́pica de la normal (0 y 1 respectivamente). En la casilla Número de muestras introducimos el valor 1000, mientras que en Número de observaciones, escribimos 10. Activamos la pestaña Media de cada muestra para añadirla al conjunto de datos y pulsamos Aceptar. El resultado es un fichero con 10000 filas (una por muestra) y 11 columnas (las 10 primeras con cada muestra y la última con la media muestral). 64 A continuación realizamos un histograma con la columna de las medias muestrales pinchando en Gráficas=⇒Histograma (con la opción densidades). Es conveniente manipular un poco el rango de variación del eje de ordenadas (y) con la orden: Hist(normal10$mean,scale="density",ylim=c(0, 1.5),breaks="Sturges",col="green") Podemos además añadir la densidad de la normal con la siguiente orden: lines(sort(normal10$mean), dnorm(sort(normal10$mean),0,1/sqrt(10))) 65 1.5 1.0 0.0 0.5 density −1.0 −0.5 0.0 normal10$mean 66 0.5 1.0 30. Sesiones de Trabajo • Un análisis de datos puede requerir varias sesiones de uso del software. • R permite guardar las instrucciones dadas durante la sesión, las salidas y los gráficos obtenidos. • Al seleccionar del menú de R-Commander las opciones “Fichero=⇒Guardar las instrucciones...”, se crea un fichero que después puede ser recuperado con la opción “Fichero=⇒Abrir fichero de instrucciones...”. • Al abrir el fichero de instrucciones éstas no se ejecutan. Para ejecutarlas se seleccionan las instrucciones deseadas y se pulsa el botón ejecutar. • En la versión actual de R-Commander las opciones “Guardar las instrucciones...” y “Guardar las instrucciones como...” son equivalentes. 67 • Al seleccionar del menú de R-Commander la opción “Fichero=⇒Guardar los resultados...”, se crea un fichero de texto que contiene las instrucciones y los resultados obtenidos, es decir, con el contenido de la ventana de resultados. • Este fichero puede usarse para incluir los resultados en un procesador de textos. • El fichero de resultados no incluye las gráficas. 68 31. Guardar Gráficos Para guardar los gráficos disponemos de varias opciones: 1. La opción del menú de R-Commander “Gráficas=⇒Guardar gráfico en fichero...” 2. Pulsar el botón derecho del ratón sobre el gráfico y usar el menú contextual. 3. Con la ventana del gráfico activa, usar la opción“Archivo=⇒Guardar como” del menú de RGui. • Las dos últimas opciones permiten copiar el gráfico al portapapeles para su posterior pegado. • Si el gráfico se destina a la web se recomienda el formato png. Para cualquier otro uso se recomienda metafichero, eps o pdf, ya que estos ficheros tienen alta calidad y no la pierden al ser convenientemente manipulados. • No todas las opciones permiten guardar los gráficos en los mismos formatos. 69 32. Referencias Arriaza Gómez, A.J. y otros (2008). Estadı́stica Básica con R y R-Commander. Servicio de Publicaciones UCA. (disponible en http://knuth.uca.es/moodle/mod/resource/view.php?id=1126). Ugarte, M.D., Militino, A.F. and Arnholt, A. (2008). Probability and Statistics with R. Boca Raton: CRC/Chapman and Hall. Ugarte, M.D., Militino, A.F. and Arnholt, A. (2009). Solutions manual for Probability and Statistics with R. Boca Raton: CRC Press. 70