histograma.fnc

Copia, Pega y Adapta

histograma.fnc(datos, vd='Puntuacion')

histograma.fnc(datos, vd=3, que.factor='zona')

histograma.fnc(datos, vd=3, que.factor='zona')

histograma.fnc(iris, vd='Sepal.Length', que.factor='Species',

xlim=c(3,9), ylim=c(0,1.3))

OBJETIVO

Crea histogramas suavizados de una variable no cualitativa tanto de forma global como por niveles de un factor o factores definidos por el usuario. Puede obtenerse el histograma con las puntuaciones tipificadas o aquellas que se encuentren entre unos límites (superior e inferior) definidos por el usuario.

Histograma

Partiremos de una base de datos ya utilizada en la página de uniones de bases de datos (fundir.objetos.fnc). Hablamos de MathAchieve de la librería nlme que contiene la medida del rendimiento en matemáticas de 7185 alumnos. Activamos la base de datos MathAchieve mediante esta llamada:

data(package='nlme','MathAchieve')

head(MathAchieve)

School Minority Sex SES MathAch MEANSES

1 1224 No Female -1.528 5.876 -0.428

2 1224 No Female -0.588 19.708 -0.428

3 1224 No Male -0.528 20.349 -0.428

4 1224 No Male -0.668 8.781 -0.428

5 1224 No Male -0.158 17.898 -0.428

6 1224 No Male 0.022 4.583 -0.428

Solicitaremos seguidamente diferentes histogramas de la variable MathAch (Rendimiento en matemáticas). Con el argumento vd indicamos el nombre de la variable de la que deseamos el histograma suavizado.

Histograma suavizado general de la variables MathAch

1. histograma.fnc(MathAchieve, vd='MathAch')

histograma de las puntuaciones tipificadas de MathAchieve

2. histograma.fnc(MathAchieve, vd='MathAch', p.tipica=T)

histograma de las puntuaciones tipificadas de MathAchieve, se filtran los valores de entrada entre -2 y 2 (de las tipificadas dado que se ha utilizado el argumento p.tipica=T).

3. histograma.fnc(MathAchieve, vd='MathAch', p.tipica=T, cortes=c(-2,2))

El histograma primero en cada nivel de la variable Sex

4. histograma.fnc(MathAchieve, vd='MathAch', que.factor='Sex')

Histograma en cada nivel de Sex x Minority.

5. histograma.fnc(MathAchieve, vd='MathAch', que.factor='Sex:Minority')

Veamos algunos ejemplos (no se presentan los gráficos, puedes ejecutar este código directamente en tu script para ver el resultado) donde manipulamos esos argumentos para obtener el gráfico deseado.

histograma.fnc(iris, vd='Sepal.Length', que.factor='Species')

Ahora modificaremos tanto el eje x como el eje y incluyendo los argumentos xlim e ylim con los valores deseados para ambos ejes.

histograma.fnc(iris, vd='Sepal.Length', que.factor='Species',

xlim=c(3,9), ylim=c(0,1.3))

Añadimos etiquetas diferentes para ambos ejes:

histograma.fnc(iris, vd='Sepal.Length', que.factor='Species',

xlim=c(3,9), ylim=c(0,1.3),

xlab='Species of plants', ylab='Density of plants')

Vamos a modificar los colores que la función elige por defecto por otra paleta de colores. Para ello haremos uso del argumento que.colores. Este argumento requiere que incluyamos los códigos de colores en su versión hexadecimal que podemos extraer del siguiente link: http://www.colorhexa.com. Vamos a solicitar los colores rojo, azul y verde pastel: #ff0000, #0000ff,#00ff80

colores=c('#ff0000','#0000ff','#00ff80')

histograma.fnc(iris, vd='Sepal.Length',

que.factor='Species', que.colores=colores)

Puedes enviar el histograma a un archivo tiff (alta resolución) muy fácilmente utilizando para ello la función crea.tif.fnc y cierra.tif.fnc. La llamada a histograma.fnc debe incluir el argumento to.tif=T para evitar que la gráfica se envie a la ventana gráfica.

crea.tif.fnc('mihistograma')

histograma.fnc(iris, vd='Sepal.Length',

que.factor='Species', to.tif=T)

cierra.tif.fnc( )

Observa como se ha creado el archivo tiff mihistograma.tip