17
1 Universidad De Sucre. Facultad De Educación y Ciencias .Licenciatura en Matemáticas. Estadística I .Docente De Área: Melba Vertel ESTADÍSTICA DESCRIPTIVA EN R Est. Nasly Vanessa Reyes Payares Universidad De Sucre [email protected] Est. Carmen Ana Mercado Herazo Universidad De Sucre [email protected] Est. Nancy Carolina Payares Martínez Universidad De Sucre [email protected] Resumen: Se introduce el software estadístico R y sus ventajas y desventajas en la enseñanza y aprendizaje de la estadística descriptiva. Se trabajará desde su instalación, el uso de bibliotecas y algunos comandos básicos y algunos ejemplos de su uso en la enseñanza de la estadística. Palabras clave: Enseñanza de la Estadística, Software estadístico R, tecnologías de la información, Estadística Descrptiva Abstract: We introduce the R statistical software and its advantages and disadvantages in teaching and learning of descriptive statistics. It will work since its installation, use oflibraries and some basic commands and some examples of its use in statistical educational. Key Word: Academic Performance, Mathematical Education, Diagnostic tests and Higher Education, descriptive statistics. INTRODUCCIÓN R es un lenguaje y entorno de programación, creado en 1993 por Ross Ihaka y Robert Gentleman del Departamento de Estadística de la Universidad de Auckland, cuya característica principal es que forma un entorno de análisis estadístico para la manipulación de datos, su cálculo y la creación de gráficos. En su aspecto R puede considerarse como otra implementación del lenguaje de programación S, con la particularidad de que es un software GNU, General Public Licenc (conjunto de programas desarrollados por la Free Software Foundation), es decir, de uso libre. La página principal del proyecto “R − project” es http: //www.r − project.org, en ella podremos conseguir gratuitamente el programa en su última versión, o cualquiera de las anteriores (para el caso de utilizar paquetes no implementados para las ´últimas versiones), además de manuales, librerías o package y demás elementos que forman la gran familia que es R. Una característica del lenguaje R es que permite al usuario combinar en un solo programa diferentes funciones estadísticas para realizar análisis más complejos. Además los usuarios de R tienen a su disponibilidad un gran número de programas escritos para S y disponibles en la red la mayoría de los cuales pueden ser utilizados directamente con R. Primeras nociones ¿Cómo instalar R? Instalar R es sumamente simple, solo hay que dirigirse a la página http://www.r- project.org/ donde se le da click a la opción download R, Una vez instalado el programa, la forma más fácil de usarlo es de forma interactiva mediante la línea de

Articulo en r

Embed Size (px)

Citation preview

Page 1: Articulo en r

1

Universidad De Sucre. Facultad De Educación y Ciencias .Licenciatura en

Matemáticas. Estadística I .Docente De Área: Melba Vertel

ESTADÍSTICA DESCRIPTIVA EN R

Est. Nasly Vanessa Reyes Payares

Universidad De Sucre

[email protected]

Est. Carmen Ana Mercado Herazo

Universidad De Sucre [email protected]

Est. Nancy Carolina Payares Martínez

Universidad De Sucre

[email protected]

Resumen: Se introduce el software estadístico R y sus ventajas y desventajas en

la enseñanza y aprendizaje de la estadística descriptiva. Se trabajará desde su

instalación, el uso de bibliotecas y algunos comandos básicos y algunos

ejemplos de su uso en la enseñanza de la estadística.

Palabras clave: Enseñanza de la Estadística, Software estadístico R,

tecnologías de la información, Estadística Descrptiva

Abstract: We introduce the R statistical software and its advantages and

disadvantages in teaching and learning of descriptive statistics. It will work

since its installation, use oflibraries and some basic commands and some

examples of its use in statistical educational.

Key Word: Academic Performance, Mathematical Education, Diagnostic tests and

Higher Education, descriptive statistics.

INTRODUCCIÓN

R es un lenguaje y entorno de programación, creado en 1993 por Ross Ihaka y Robert

Gentleman del Departamento de Estadística de la Universidad de Auckland, cuya

característica principal es que forma un entorno de análisis estadístico para la

manipulación de datos, su cálculo y la creación de gráficos. En su aspecto R puede

considerarse como otra implementación del lenguaje de programación S, con la

particularidad de que es un software GNU, General Public Licenc (conjunto de

programas desarrollados por la Free Software Foundation), es decir, de uso libre.

La página principal del proyecto “R − project” es http: //www.r − project.org, en

ella podremos conseguir gratuitamente el programa en su última versión, o

cualquiera de las anteriores (para el caso de utilizar paquetes no implementados

para las ´últimas versiones), además de manuales, librerías o package y demás

elementos que forman la gran familia que es R.

Una característica del lenguaje R es que permite al usuario combinar en un solo

programa diferentes funciones estadísticas para realizar análisis más complejos.

Además los usuarios de R tienen a su disponibilidad un gran número de programas

escritos para S y disponibles en la red la mayoría de los cuales pueden ser

utilizados directamente con R.

Primeras nociones

¿Cómo instalar R?

Instalar R es sumamente simple, solo hay que dirigirse a la página http://www.r-

project.org/ donde se le da click a la opción download R, Una vez instalado el

programa, la forma más fácil de usarlo es de forma interactiva mediante la línea de

Page 2: Articulo en r

2

comandos. Cuando R se inicia, aparece la ventana del programa “Gui” (graphical user

interface) con un mensaje de apertura.

Debajo del mensaje de apertura de la consola de r se encuentra el “prompt” que es

el símbolo “>” (mayor que). Las expresiones en r se escriben directamente a

continuación del “prompt” en la consola de r. si se escribe e intenta ejecutar un

comando que se ha escrito en forma incompleta, el programa presenta un “+” que es

el prompt de continuación. una característica de r es que nos permite guardar la

sesión de trabajo, lo que nos será muy útil en el caso de que necesitemos utilizar

bibliotecas o datos que ya hemos implementado. Al cerrar el programa o al teclear

“q ( ) 00 nos preguntara si desea salvar los datos de esta sesión de trabajo. puede

responder yes (si), no (no) o cancel (cancelar) pulsando respectivamente las letras

y, n o c, en cada uno de cuyos casos, respectivamente, salvara los datos antes de

terminar, terminara sin salvar, o volverla a la sesión de r. los datos que se

salvan estarán disponibles en la siguiente sesión de r.

CONCEPTOS INICIALES

R como calculadora

El uso más básico que tiene R es como calculadora, pues se pueden realizar cálculos

aritméticos simples con los simbolos de +, –, *, / ^ para las operaciones básicas.

Algunos ejemplos sencillos y funciones de uso común pueden verse en Verzani (2004),

Por ejemplo

Page 3: Articulo en r

3

ASIGNACIONES

Al igual que ocurre con otros lenguajes de programación R asigna nombres a las

operaciones. Esto lo conseguiremos mediante el símbolo “< −”, “− >” ´o “=”. Como

para poder visualizar un dato renombrado hay de escribir el nombre después de

haberlo asignado, es útil utilizar los “;” después de la asignación para ahorrarnos

espacio.

Ejemplo

> npfam<-c(2,3,3,5,4,7,2,4,2,5,3,6,4,4,2,5,3);npfam

[1] 2 3 3 5 4 7 2 4 2 5 3 6 4 4 2 5 3

En el caso que necesitemos poner notaciones o comentarios en R, estos se realizan

poniendo delante del comentario el símbolo “#”. Esto nos servirá para explicar lo

que estamos haciendo o simplemente recordar de qué trata el programa o función que

estemos implementando.

> #Hola

> #Espero que todo esto te sea ´útil

FUNCIÓN LIBRARY

La función library gestiona los libros de la biblioteca, dando información sobre

los existentes y cargándolos en memoria o descargándolos de la misma. Un libro está

formado por funciones, datos y documentación; todos ellos contenidos en un

directorio que contiene varios subdirectorios, con informaciones diversas, de

acuerdo con un formato establecido. De hecho, al cargar R, se carga al menos un

primer libro denominado base.

Por ejemplo “library ()” devuelve una lista de los libros que hay en la biblioteca

predeterminada de R. “library (help=“base”)” devuelve una pequeña ayuda sobre el

libro base. Si consultamos la lista de búsqueda observaremos los libros que hay

actualmente en memoria.

> library () Packages in library ’C:/PROGRA~1/R/R-210~1.1/library’:

Agricolae Statistical Procedures for Agricultural Research

akima Interpolation of irregularly spaced data

Animation Demonstrate Animations in Statistics

MANIPULACIÓN DE DATOS

Operaciones con Vectores

El primer tipo de objeto que manejaremos es el vector (colección ordenada de

elementos del mismo tipo). Podemos escribir vectores de varias maneras, utilizando

la opción “:” (el vector comienza en el primer número suministrado y finaliza en el

segundo o en un número anterior sin sobrepasarlo, tanto en orden ascendente como

descendente) ´o mediante la función de concatenación “c( )”.

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

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

> 1.5:7.5 [1] 1.5 2.5 3.5 4.5 5.5 6.5 7.5

Una opción de R es que podemos asignar nombres a los elementos de un vector

mediante la función “names” (también se podrá utilizar para nombrar cualquier

objeto).

> x<-1:7

> x

[1] 1 2 3 4 5 6 7

> names (x)<-c("Lunes","Martes","Miercoles","Jueves","Viernes","Sabado","Domingo")

> x

Lunes martes Miércoles Jueves Viernes Sábado Domingo

1 2 3 4 5 6 7

A continuación tenemos una tabla con un conjunto de funciones muy útiles a la hora

de trabajar con vectores:

Page 4: Articulo en r

4

Operaciones con Matrices

Las matrices o variables indexadas (Arrays) son generalizaciones multidimensionales

de vectores. De hecho, son vectores indexados por dos o más índices y que se

imprimen de modo especial.

Para crearlas utilizamos la función “matrix”. Los parámetros principales de esta

función son: data (vector que contiene los valores que formarán la matriz), nrow

(número de filas), ncol (número de columnas).

Ejemplo

> m1<-matrix (1, 2,3)

> m1 [,1] [,2] [,3]

[1,] 1 1 1

[2,] 1 1 1

> # Hemos formado una matriz de unos de dos filas y tres columnas

Dispositivos gráficos

Los gráficos disponibles en R son todos de gran calidad y poseen una versatilidad

muy grande. Para hacernos una idea (a modo de ejemplo), podemos ejecutar la función

demo:

> demo ("graphics")

Funciones graficas básicas

Page 5: Articulo en r

5

Gráficos estadísticos

DESARROLLO DE LA ACTIVIDADADES

Para poner en práctica lo aprendido hasta ahora se proponen las siguientes

actividades

1. Realice los siguientes cálculos aritméticos, utilizando el programa R

> (24/-8+7)/(9-6*(2))

[1] -1.333333

> (2^3)*-7+4-((1/3)+(1/2))

[1] -52.83333

Page 6: Articulo en r

6

> (sqrt(16)+5*4-3^-2)/(3*(4-8)+1)

[1] -2.171717

> (1/2)*((5/4-2^-1)*13/4-sqrt(7)+8/(2-(1/5))-3^2)

[1] -2.381903

> 2*sin(pi/3)+5*cos(pi/4)-((tan(pi/6))/4)

[1] 5.123247

> 4*log(5,2)-3*log(7,3)+((1/3)*(log(8))^3)

[1] 6.971203

2. Para los ejercicios de la parte 1, redondee los resultados finales a una cifra

decimal.

A)#Redondeo a un decimal

> round(-1.333333,digits=1)

[1] -1.3

B) )#Redondeo a un decimal

> round(-52.83333,digits=1)

[1] -52.8

C) )#Redondeo a un decimal

> round(-2.171717,digits=1)

[1] -2.2

D) )#Redondeo a un decimal

> round(-2.381903,digits=1)

[1] -2.4

E) )#Redondeo a un decimal

> round(5.123247,digits=1)

[1] 5.1

F) )#Redondeo a un decimal

> round(6.971203,digits=1)

[1] 7

Suponga que se toma una muestra de 20 taxistas que laboran en el centro de la

ciudad de

Heredia durante setiembre de 2011. Los datos obtenidos para los 20 taxistas se

describen a continuación:

Page 7: Articulo en r

7

ID: Identificación del taxista

NP: número de pasajeros

Trasportados por turno

GC: Gasto diario en combustible (en miles de colones)

AS: Años de servicio como taxista

a) Construya dos vectores y denótelos GC y NP para guardar los datos de Gasto de combustible y Número de pasajeros.

>#Vector Gasto de Combustible

> GC<-

c(8.0,7.6,9.7,12.6,12.9,10.2,14.2,8.4,14.0,13.9,8.7,9.4,7.4,13.4,11.1,13.5,8.6,1

3.5,9.7,11.6);GC

[1] 8.0 7.6 9.7 12.6 12.9 10.2 14.2 8.4 14.0 13.9 8.7

[12] 9.4 7.4 13.4 11.1 13.5 8.6 13.5 9.7 11.6

>#Vector Número de Pasajeros

> NP<-c(11,9,9,10,8,9,10,8,13,12,12,12,7,11,13,10,10,11,10,11);NP

[1] 11 9 9 10 8 9 10 8 13 12 12 12 7 11 13 10 10 11

[19] 10 11

b) Calcule la moda, la mediana, la media, desviación estándar, varianza y los cuartiles, par los datos de GC y NP.

>#Vector Gasto de Combustible

> GC<-

c(8.0,7.6,9.7,12.6,12.9,10.2,14.2,8.4,14.0,13.9,8.7,9.4,7.4,13.4,11.1,13.5,8.6,13.5

,9.7,11.6);GC

[1] 8.0 7.6 9.7 12.6 12.9 10.2 14.2 8.4 14.0 13.9 8.7 9.4 7.4 13.4 11.1

[16] 13.5 8.6 13.5 9.7 11.6

> # mediana de la distribución

> median(GC)

[1] 10.65

Page 8: Articulo en r

8

> # promedio o media aritmética de la distribución

> mean(GC)

[1] 10.92

> # calcula la moda

> mfv(GC)

[1] 9.7 13.5

> # desviación estándar de la distribución

> sd(GC)

[1] 2.408669

> # varianza de la distribución

> var(GC)

[1] 5.801684

> # cuatro cuartiles de la distribución

> quantile(GC)

0% 25% 50% 75% 100%

7.400 8.675 10.650 13.425 14.200

>#Vector Número de Pasajeros

> NP<-c(11,9,9,10,8,9,10,8,13,12,12,12,7,11,13,10,10,11,10,11);NP

[1] 11 9 9 10 8 9 10 8 13 12 12 12 7 11 13 10 10 11 10 11

> # mediana de la distribución

> median(NP)

[1] 10

> # promedio o media aritmética de la distribución

> mean(NP)

[1] 10.3

> # desviación estándar de la distribución

> sd(NP)

[1] 1.657519

> # calcula la moda

> mfv(NP)

[1] 10

> # varianza de la distribución

> var(NP)

[1] 2.747368

> # cuatro cuartiles de la distribución

> quantile(NP)

0% 25% 50% 75% 100%

7.00 9.00 10.00 11.25 13.00

c) Represente gráficamente las variables GC y NP.

#Variable GC

> barplot(GC,

col=c("maroon","beige","aquamarine","red","blue","green","yellow","aquamarin

e","orange","pink","yellow","violet","turquoise","orange","sky

blue","brown","green"),main="Gráfico Del Gasto De Combustible Por

Taxista",xlab="Taxista", ylab="Gasto De Combustible", legend = rownames(GC))

Page 9: Articulo en r

9

> boxplot(GC,horizontal=TRUE,col="violet")

#Variable NP

> barplot(NP,

col=c("maroon","beige","aquamarine","red","blue","green","yellow","aquamarin

e","orange","pink","yellow","violet","turquoise","orange","sky

blue","brown","green"),main="N° De Pasajeros Por Turno Del

Taxista",xlab="Taxista", ylab="N° De Pasajeros", legend = rownames(NP))

> boxplot(NP,horizontal=TRUE,col="aquamarine")

Gráfico Del Gasto De Combustible Por Taxista

Taxista

Gas

to D

e C

ombu

stib

le

02

46

810

1214

8 9 10 11 12 13 14

N° De Pasajeros Por Turno Del Taxista

Taxista

De

Pas

ajer

os

02

46

810

12

Page 10: Articulo en r

10

1. De acuerdo con MIDEPLAN durante el 2008 las distintas regiones de Costa Rica han presentado diferencias en cuanto al porcentaje de hogares pobres (PHP) y

la tasa de mortalidad infantil (TMI) por cada mil nacidos vivos, como se

muestra a continuación.

VIII FESTIVAL INTERNACIONAL DE MATEMÁTICA

7 al 9 de junio de 2012. Sede Chorotega, Universidad Nacional, Liberia, Costa

Rica

a) Construya dos vectores y denótelos PHP y TMI para guardar los datos de

porcentaje de hogares pobres y tasa de mortalidad infantil.

> PHP<-c(14.0,24.7,16.4,26.0,25.7,24.6);PHP

[1] 14.0 24.7 16.4 26.0 25.7 24.6

> TMI<-c(8.8,10.2,8.0,9.1,8.2,9.4);TMI

[1] 8.8 10.2 8.0 9.1 8.2 9.4

b) Calcule la moda, la mediana, la media, desviación estándar, varianza y los

cuartiles, par los datos de PHP y TMI.

7 8 9 10 11 12 13

Page 11: Articulo en r

11

# VARIABLE PHP

> # calcula la moda

> mfv(PHP)

[1] 14.0 16.4 24.6 24.7 25.7 26.0

> # mediana de la distribución

> median(PHP)

[1] 24.65

> # promedio o media aritmética de la distribución

> mean(PHP)

[1] 21.9

> # desviación estándar de la distribución

> sd(PHP)

[1] 5.273329

> # variancia de la distribución

> var(PHP)

[1] 27.808

> # cuatro cuartiles de la distribución

> quantile(PHP)

0% 25% 50% 75% 100%

14.00 18.45 24.65 25.45 26.00

#Variable TMI

> # calcula la moda

> mfv(TMI)

[1] 8.0 8.2 8.8 9.1 9.4 10.2

> # mediana de la distribución

> median(TMI)

[1] 8.95

> # promedio o media aritmética de la distribución

> mean(TMI)

[1] 8.95

> # desviación estándar de la distribución

> sd(TMI)

[1] 0.8093207

> # variancia de la distribución

> var(TMI)

[1] 0.655

> # cuatro cuartiles de la distribución

> quantile(TMI)

0% 25% 50% 75% 100%

8.000 8.350 8.950 9.325 10.200

Page 12: Articulo en r

12

c) Represente gráficamente las variables PHP y TMI.

#Variable PHP

#Poligoo de Frecuencias de PHP

> h1<- graph.freq(PHP,col="sky blue",frequency=1,las=2,xlab="h1")

> h2<- graph.freq (PHP, frequency =2, axes= FALSE,las=2,xlab="h2")

> polygon.freq(h2, col="maroon", lwd=2, frequency =2)

> TIC<- h2$breaks[2]- h2$breaks[1]

> axis(1,c(h2$mids[1]-TIC, h2$mids, h2$mids[6]+TIC ),cex=0.6)

> axis(2, cex=0.6,las=1)

#Ojiva de PHP

> h<-graph.freq(resp,plot=F)

> points<-ojiva.freq(h,type="l",col="maroon",frame=FALSE,xlab="Limit of class",

ylab="Accumulated relative frequency", main="ojiva")

> grid(col="green")

15

20

25

0.0

0.5

1.0

1.5

2.0

2.5

3.0

h1 h2

12.5 15.5 18.5 21.5 24.5

0.0

0.1

0.2

0.3

0.4

0.5

0.6

15 20 25

0.0

0.2

0.4

0.6

0.8

1.0

ojiva

Limit of class

Accu

mul

ated

rela

tive

frequ

ency

Page 13: Articulo en r

13

#Histograma de PHP

> h1<-hist(PHP,border=FALSE,xlim=c(7,26))

> polygon.freq(h1,frequency=1,col="maroon")

#Poligoo de Frecuencias de TMI

> h1<- graph.freq(TMI,col="maroon",frequency=1,las=2,xlab="h1")

> h2<- graph.freq (TMI, frequency =2, axes= FALSE,las=2,xlab="h2")

> polygon.freq(h2, col="sky blue", lwd=2, frequency =2)

> TIC<- h2$breaks[2]- h2$breaks[1]

> axis(1,c(h2$mids[1]-TIC, h2$mids, h2$mids[6]+TIC ),cex=0.6)

Histogram of PHP

PHP

Freq

uenc

y

10 15 20 25

0.0

0.5

1.0

1.5

2.0

8.0

8.5

9.0

9.5

10.0

10.5

0.0

0.5

1.0

1.5

2.0

h1 h2

7.7 8.3 8.9 9.5 10.1

0.0

0.1

0.2

0.3

Page 14: Articulo en r

14

#Ojiva

> h<-graph.freq(TMI,plot=F)

> points<-ojiva.freq(h,type="l",col="green",frame=FALSE,xlab="Limit of

class", ylab="Accumulated relative frequency", main="ojiva")

> grid(col="orange")

#Histograma TMI

> h1<-hist(TMI,border=FALSE,xlim=c(8,10))

> polygon.freq(h1,frequency=1,col="green")

8.0 8.5 9.0 9.5 10.0 10.5 11.0

0.0

0.2

0.4

0.6

0.8

1.0

ojiva

Limit of class

Accu

mul

ated

rela

tive

frequ

ency

Histogram of TMI

TMI

Fre

quency

8.0 8.5 9.0 9.5 10.0

0.0

0.5

1.0

1.5

2.0

Page 15: Articulo en r

15

1. Considere el siguiente cuadro referido a un grupo de estudiantes

universitarios en cuanto a su género y estado conyugal.

Estado conyugal

Género Casado Soltero Otro

Masculino 8 14 5

Femenino 12 9 10

a) Construya la tabla anterior mediante el programa R.

EC= Estado Conyugal

> EC<-matrix(c(8,12,14,9,5,10),nrow=2,ncol=3);EC

[,1] [,2] [,3]

[1,] 8 14 5

[2,] 12 9 10

> rownames(EC)= c( "Masculino","Femenino");EC

[,1] [,2] [,3]

Masculino 8 14 5

Femenino 12 9 10

> colnames(EC)=c("Casado","Soltero","Otro");EC

Casado Soltero Otro

Masculino 8 14 5

Femenino 12 9 10

b) Calcule las marginales y las proporciones basadas en el total de la

muestra.

#Personas Casadas

> Casado<-c(8,12);Casado

[1] 8 12

> mean(Casado)

[1] 10

> var(Casado)

[1] 8

> range(Casado)

[1] 8 12

> sd(Casado)

[1] 2.828427

> length(Casado)

[1] 2

#Personas solteras

> Soltero<-c(14,9);Soltero

[1] 14 9

> mean(Soltero)

[1] 11.5

Page 16: Articulo en r

16

> var(Soltero)

[1] 12.5

> range(Soltero)

[1] 9 14

> sd(Soltero)

[1] 3.535534

> length(Soltero)

[1] 2

#Personas Con Otro Tipo De Relación

> Otro<-c(5,10);Otro

[1] 5 10

> mean(Otro)

[1] 7.5

> var(Otro)

[1] 12.5

> range(Otro)

[1] 5 10

> sd(Otro)

[1] 3.535534

> length(Otro)

[1] 2

c) Represente gráficamente la tabla anterior (realice al menos dos gráficos diferentes).

#Gráficos Que Relaciona El Género Con El Estado Civil

> barplot(EC, main="Gráfico Que Relaciona El Género Con El Estado

Civil",xlab="Estado Civil", ylab="Género", legend = rownames(EC))

Casado Soltero Otro

Femenino

Masculino

Gráfico Que Relaciona El Género Con El Estado Civil

Estado Civil

Género

05

10

15

20

Page 17: Articulo en r

17

> mosaicplot(EC, col=c("sky blue","maroon","green"),main="Gráfico que relaciona el

género con el Estado Civil", xlab="Género", ylab="Estado Civil")

Gráfico que relaciona el género con el Estado Civil

Género

Estado C

ivil

Masculino Femenino

Casado

Soltero

Otro