Curso de R:

Capitulo 6:Primeros ejemplos prácticos.

Bueno hasta ahora he tratado de mostraros algunas funciones de R para que empezarais a tomar contacto con la herramienta, no he trabajado con ningún ejemplo concreto a excepción del  capítulo 5 donde os presenté la función t.test y sus argumentos con algún caso aplicado. Pues bien, en este capítulo voy a trabajar con ejemplos de todo lo que hemos visto hasta ahora para que sirva además de leve repaso.

Mi página existe desde finales de junio de 2002 y siempre he querido saber cual ha sido el número medio de visitas, geocities me ofrece estadísticas desde finales de julio así que voy a tomar como referencia el mes de agosto. La media de  visitas a la página en el mes de agosto fueron:

> visitas<-scan()
1: 27 27 13 9 21 42 26 20 28 23 10 34 19 19 15 13 9
18: 10 17 22 17 9 21 4 9 20 20 31 21 
30: 16 16
32: 
Read 31 items
> mean(visitas)
[1] 18.96774

¡Sólo 19 visitas diarias a mi página! con lo que me la estoy currando, a ver si venís más de vez en cuando sólo para que vaya bien el contador. El caso es que tiene altos y bajos, vamos a verlo en un gráfico:

> plot (visitas,type="l",main="Que poco me visitais")

 

Como vemos R conserva el orden ya que en el eje de ordenadas aparece index, para que la función plot una por líneas le añadimos type="l" y con main indicamos el título. Los gráficos no tienen una resolución gráfica excelente y además el trabajar con ellos es un poco engorroso pero son más que suficientes para presentar un informe escrito con cualquier editor de texto ya que basta con cortar y copiar.

Si quiero hacer un gráfico de sectores por las visitas por semana:

> semanas<-scan()
1:  31 31 31 31
5: 32 32 32 32 32 32 32
12: 33 33 33 33 33 33 33 
19: 34 34 34 34 34 34 34
26: 35 35 35 35 35 35
32: 
Read 31 items
> pie(visitas,col=semanas)

Se puede añadir leyenda con la función legend pero eso espero lo guardo para un capítulo posterior donde veremos otras funciones, como cambiar colores, ver varios gráficos en una sola ventana,...

Si quisiéramos hallar la varianza habríamos de crearnos la función ya que R calcula la cuasivarianza muestral, esto ya lo vimos en el capítulo 3. De todas formas el programa sería:

> varianza<-function(x) { ((length(x)-1)/length(x))*var(x) }
> varianza(visitas)
[1] 67.64412
> sqrt(varianza(visitas))
[1] 8.224605

Imaginemos ahora que tenemos un fichero ASCII que recoge llamadas a un número de ayuda. Queremos saber si el número de llamadas de los usuarios difiere según los turnos, las semanas o los días.

> llamadas<-read.table ("c:\datos\\calls.dat")
> llamadas
    V1 V2  V3  V4
1    1  1 Mon   9
2    1  2 Mon  16
...
164 11  2 Fri  41
165 11  3 Fri  53

R indexa si no le indicamos lo contrario, además nombra las variables como V1, V2, V3 y V4. Si queremos nombrar las variables debemos emplear la función names.

> names(llamadas)<-c("Semanas", "Turno", "Dia", "Llamadas")

Es conveniente hacer un sumario para que podáis ver los valores que toman las variables que componen el conjunto de datos:

> summary(llamadas)
    Semanas       Turno    Dia        Llamadas    
 Min.   : 1   Min.   :1   Fri:33   Min.   :  8.0  
 1st Qu.: 3   1st Qu.:1   Mon:33   1st Qu.: 67.0  
 Median : 6   Median :2   Thu:33   Median :129.0  
 Mean   : 6   Mean   :2   Tue:33   Mean   :113.5  
 3rd Qu.: 9   3rd Qu.:3   Wed:33   3rd Qu.:153.0  
 Max.   :11   Max.   :3            Max.   :550.0 

También puede interesarnos sólo el saber el número medio de llamadas, para ello tenemos que acceder a la variable de un data frame, esto se hace con el símbolo $ después del nombre del objeto data frame:

> mean(llamadas$Llamadas)
[1] 113.4545

Volver a la página principal

Menú del curso

Capítulo 7: Regresión Lineal.

 

1