Saltar al contenido principal

# 6.9: Resumen

$$\newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} }$$

$$\newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}}$$

$$\newcommand{\id}{\mathrm{id}}$$ $$\newcommand{\Span}{\mathrm{span}}$$

( \newcommand{\kernel}{\mathrm{null}\,}\) $$\newcommand{\range}{\mathrm{range}\,}$$

$$\newcommand{\RealPart}{\mathrm{Re}}$$ $$\newcommand{\ImaginaryPart}{\mathrm{Im}}$$

$$\newcommand{\Argument}{\mathrm{Arg}}$$ $$\newcommand{\norm}[1]{\| #1 \|}$$

$$\newcommand{\inner}[2]{\langle #1, #2 \rangle}$$

$$\newcommand{\Span}{\mathrm{span}}$$

$$\newcommand{\id}{\mathrm{id}}$$

$$\newcommand{\Span}{\mathrm{span}}$$

$$\newcommand{\kernel}{\mathrm{null}\,}$$

$$\newcommand{\range}{\mathrm{range}\,}$$

$$\newcommand{\RealPart}{\mathrm{Re}}$$

$$\newcommand{\ImaginaryPart}{\mathrm{Im}}$$

$$\newcommand{\Argument}{\mathrm{Arg}}$$

$$\newcommand{\norm}[1]{\| #1 \|}$$

$$\newcommand{\inner}[2]{\langle #1, #2 \rangle}$$

$$\newcommand{\Span}{\mathrm{span}}$$ $$\newcommand{\AA}{\unicode[.8,0]{x212B}}$$

$$\newcommand{\vectorA}[1]{\vec{#1}} % arrow$$

$$\newcommand{\vectorAt}[1]{\vec{\text{#1}}} % arrow$$

$$\newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} }$$

$$\newcommand{\vectorC}[1]{\textbf{#1}}$$

$$\newcommand{\vectorD}[1]{\overrightarrow{#1}}$$

$$\newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}}$$

$$\newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}}$$

$$\newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} }$$

$$\newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}}$$

$$\newcommand{\avec}{\mathbf a}$$ $$\newcommand{\bvec}{\mathbf b}$$ $$\newcommand{\cvec}{\mathbf c}$$ $$\newcommand{\dvec}{\mathbf d}$$ $$\newcommand{\dtil}{\widetilde{\mathbf d}}$$ $$\newcommand{\evec}{\mathbf e}$$ $$\newcommand{\fvec}{\mathbf f}$$ $$\newcommand{\nvec}{\mathbf n}$$ $$\newcommand{\pvec}{\mathbf p}$$ $$\newcommand{\qvec}{\mathbf q}$$ $$\newcommand{\svec}{\mathbf s}$$ $$\newcommand{\tvec}{\mathbf t}$$ $$\newcommand{\uvec}{\mathbf u}$$ $$\newcommand{\vvec}{\mathbf v}$$ $$\newcommand{\wvec}{\mathbf w}$$ $$\newcommand{\xvec}{\mathbf x}$$ $$\newcommand{\yvec}{\mathbf y}$$ $$\newcommand{\zvec}{\mathbf z}$$ $$\newcommand{\rvec}{\mathbf r}$$ $$\newcommand{\mvec}{\mathbf m}$$ $$\newcommand{\zerovec}{\mathbf 0}$$ $$\newcommand{\onevec}{\mathbf 1}$$ $$\newcommand{\real}{\mathbb R}$$ $$\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}$$ $$\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}$$ $$\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}$$ $$\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}$$ $$\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}$$ $$\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}$$ $$\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}$$ $$\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}$$ $$\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}$$ $$\newcommand{\laspan}[1]{\text{Span}\{#1\}}$$ $$\newcommand{\bcal}{\cal B}$$ $$\newcommand{\ccal}{\cal C}$$ $$\newcommand{\scal}{\cal S}$$ $$\newcommand{\wcal}{\cal W}$$ $$\newcommand{\ecal}{\cal E}$$ $$\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}$$ $$\newcommand{\gray}[1]{\color{gray}{#1}}$$ $$\newcommand{\lgray}[1]{\color{lightgray}{#1}}$$ $$\newcommand{\rank}{\operatorname{rank}}$$ $$\newcommand{\row}{\text{Row}}$$ $$\newcommand{\col}{\text{Col}}$$ $$\renewcommand{\row}{\text{Row}}$$ $$\newcommand{\nul}{\text{Nul}}$$ $$\newcommand{\var}{\text{Var}}$$ $$\newcommand{\corr}{\text{corr}}$$ $$\newcommand{\len}[1]{\left|#1\right|}$$ $$\newcommand{\bbar}{\overline{\bvec}}$$ $$\newcommand{\bhat}{\widehat{\bvec}}$$ $$\newcommand{\bperp}{\bvec^\perp}$$ $$\newcommand{\xhat}{\widehat{\xvec}}$$ $$\newcommand{\vhat}{\widehat{\vvec}}$$ $$\newcommand{\uhat}{\widehat{\uvec}}$$ $$\newcommand{\what}{\widehat{\wvec}}$$ $$\newcommand{\Sighat}{\widehat{\Sigma}}$$ $$\newcommand{\lt}{<}$$ $$\newcommand{\gt}{>}$$ $$\newcommand{\amp}{&}$$ $$\definecolor{fillinmathshade}{gray}{0.9}$$

Quizás soy una persona de mente sencilla, pero me encantan las fotos. Cada vez que escribo un nuevo artículo científico, una de las primeras cosas que hago es sentarme y pensar en cuáles serán las imágenes. En mi cabeza, un artículo es realmente solo una secuencia de imágenes, unidas entre sí por una historia. Todo el resto es solo escaparatismo. Lo que realmente estoy tratando de decir aquí es que el sistema visual humano es una herramienta de análisis de datos muy poderosa. Darle el tipo de información adecuado y le suministrará a un lector humano una enorme cantidad de conocimiento muy rápidamente. No en vano tenemos el dicho “una imagen vale más que mil palabras”. Con eso en mente, creo que este es uno de los capítulos más importantes del libro. Los temas tratados fueron:

• Visión general básica de gráficos R. En la Sección 6.1 hablamos sobre cómo se organizan los gráficos en R, y luego pasamos a los conceptos básicos de cómo se dibujan en la Sección 6.2.
• Parcelas comunes. Gran parte del capítulo se centró en gráficas estándar que a los estadísticos les gusta producir: histogramas (Sección 6.3, parcelas de tallo y hoja (Sección 6.4, parcelas de caja (Sección 6.5, diagramas de dispersión (Sección 6.6 y gráficas de barras (Sección 6.7.
• Guardar archivos de imagen. En la última parte del capítulo se habló sobre cómo exportar tus imágenes (Sección 6.8

Una última cosa a señalar. Al inicio del capítulo mencioné que R cuenta con varios sistemas completamente distintos para dibujar figuras. En este capítulo me he centrado en el sistema gráfico tradicional. Es el más fácil para empezar: puedes dibujar un histograma con un comando tan simple como hist (x). Sin embargo, no es la herramienta más poderosa para el trabajo, y después de un tiempo la mayoría de los usuarios de R comienzan a buscar cambiar a sistemas más elegantes. Uno de los sistemas gráficos más populares lo proporciona el paquete ggplot2 (ver), que se basa libremente en “La gramática de los gráficos” @ [Wilkinson2006]. No es para novatos: necesitas tener una comprensión bastante buena de R antes de poder empezar a usarla, e incluso entonces lleva un tiempo realmente entenderla. Pero cuando finalmente estás en esa etapa, vale la pena tomarte el tiempo para enseñarte a ti mismo, porque es un sistema mucho más limpio.

1. El origen de esta cita es el precioso libro de Tufte La Visualización Visual de la Información Cuantitativa.
2. Debo agregar que esto no es exclusivo de R. Como todo en R hay una curva de aprendizaje bastante empinada para aprender a dibujar gráficos, y como siempre hay una ganancia masiva al final en términos de la calidad de lo que puedes producir. Pero para ser honesto, he visto aparecer los mismos problemas independientemente del sistema que utilice la gente. Sospecho que lo más difícil de hacer es obligarse a tomarse el tiempo para pensar profundamente en lo que están haciendo sus gráficas. Yo digo que con pleno conocimiento que sólo alrededor de la mitad de mis gráficas salen tan bien como deberían. Entender lo que hace una buena gráfica es fácil: en realidad diseñar una buena gráfica es difícil.
3. O, ya que siempre puedes usar las teclas arriba y abajo para desplazarte por tu historial de comandos reciente, simplemente puedes sacar tus comandos más recientes y editarlos para corregir tu error. Se vuelve aún más fácil una vez que comienzas a usar scripts (Sección 8.1, ya que todo lo que tienes que hacer es editar tu script y luego ejecutarlo de nuevo.
4. Por supuesto, incluso esa es una descripción un poco engañosa, ya que algunas herramientas gráficas R hacen uso de sistemas externos de renderizado gráfico como OpenGL (por ejemplo, el paquete rgl). Absolutamente no voy a estar hablando de OpenGL o similares en este libro, pero como sucede hay una gráfica en este libro que se basa en ellos: Figura 15.6.
5. La función de bajo nivel que hace esto se llama title () en caso de que alguna vez necesites saber, y puedes escribir? título para conocer un poco más de detalle sobre lo que hacen estos argumentos.
6. En caso de que esto no sea suficiente libertad para usted, puede seleccionar un color directamente como una especificación “rojo, verde, azul” usando la función rgb (), o como una especificación de “tono, saturación, valor” usando la función hsv ().
7. Además, hay una función de bajo nivel llamada axis () que permite mucho más control sobre la apariencia de los ejes.
8. R siendo lo que es, no es una gran sorpresa que también haya una función fivenum () que hace lo mismo.
9. Me doy cuenta de que hay una especie de lógica en la forma en que se construyen los nombres R, pero aún así suenan tontos. Cuando escribí esta frase, todo lo que podía pensar era que sonaba como el nombre de una película infantil si hubiera sido escrita por Lewis Carroll: “Las frabjosas gambolles de Staplewex y Whisklty” o algo por el estilo.
10. A veces es conveniente que la gráfica de caja etiquete automáticamente los valores atípicos por ti. La función original boxplot () no te permite hacer esto; sin embargo, la función Boxplot () en el paquete del auto sí. El diseño de la función Boxplot () es muy similar a boxplot (). Simplemente agrega algunos argumentos nuevos que permiten ajustar el esquema de etiquetado. Se lo dejaré al lector para que compruebe esto.
11. Algo así como. El juego se jugó en Launceston, que es un hogar de facto lejos de casa para Hawthorn.
12. Contraste esta situación con el siguiente mayor margen ganador en el conjunto de datos, que fue la demolición de 108 puntos de Geelong de Richmond en la ronda 6 en su tierra natal, Kardinia Park. Geelong ha sido uno de los equipos más dominantes en los últimos años, periodo durante el cual encadenaron una increíble racha ganadora de 29 juegos en Kardinia Park. Richmond ha sido inútil desde hace varios años. Esto no es en sentido significativo un valor atípico. Geelong lleva bastante tiempo ganando por estos márgenes (y Richmond perdiendo por ellos). Francamente me sorprende que el resultado no haya sido más desigual: como le pasó a Melbourne en 2011 cuando Geelong ganó por unos modestos 186 puntos.
13. En realidad, hay otras formas de hacerlo. Si el argumento de entrada x es un objeto list (ver Sección 4.9, la función boxplot () dibujará un boxplot separado para cada variable de esa lista. Relacionadamente, dado que la función plot () —que discutiremos en breve— es genérica (ver Sección 4.11, quizás no te sorprenda saber que uno de sus casos especiales es un boxplot: específicamente, si usas plot () donde el primer argumento x es un factor y el segundo argumento y es numérico, entonces el resultado será una gráfica de caja, mostrando los valores en y, con una gráfica de caja separada para cada nivel. Por ejemplo, algo así como plot (x = afl2\ $año, y = afl2\$margin) funcionaría.
14. La razón es que hay un molesto defecto de diseño en la forma en que la función plot () maneja esta situación. El problema es que la función plot.formula () utiliza nombres diferentes para los argumentos de los que espera la función plot (). Como consecuencia, no se puede especificar el argumento de la fórmula por su nombre. Si solo especifica una fórmula como primer argumento sin usar el nombre, funciona bien, porque la función plot () piensa que la fórmula corresponde al argumento x, y la función plot.formula () piensa que corresponde al argumento fórmula; y sorprendentemente, todo funciona muy bien. Pero en el momento en que tú, el usuario, intenta ser inequívoco sobre el nombre, una de esas dos funciones va a llorar.
15. Quizás se esté preguntando por qué no he especificado el nombre del argumento para la fórmula. La razón es que hay un error en cómo se escribe la función scatterplot (): bajo el capó hay una función que espera que el argumento se llame x y otra que espera que se llame fórmula. No sé por qué la función se escribió de esta manera, pero no es un problema aislado: este tipo particular de error se repite en un par de otras funciones (la volverás a ver en el Capítulo 13. La solución en tales casos es omitir el nombre del argumento: de esa manera, una función “piensa” que has especificado x y la otra “piensa” que has especificado fórmula y todo funciona de la manera que se supone que debe hacerlo. No es un gran estado de cosas, lo admito, pero como que funciona.
16. Una vez más, podríamos haber producido esta salida usando la función plot (): cuando el argumento x es un marco de datos que contiene solo variables numéricas, entonces la salida es una matriz de scatterplot. Entonces, una vez más, lo que podría haber hecho es simplemente escribir trama (paternidad).
17. Una vez más, vale la pena señalar el enlace a la función generic plot (). Si el argumento x para plot () es un factor (y no se da ningún argumento y), el resultado es un gráfico de barras. Entonces podrías usar plot (afl.finalistas) y obtener la misma salida que barplot (afl.finalistas).

This page titled 6.9: Resumen is shared under a CC BY-SA 4.0 license and was authored, remixed, and/or curated by Danielle Navarro via source content that was edited to the style and standards of the LibreTexts platform.