6.4: Parcelas de tallo y hoja
- Page ID
- 151854
\( \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}\)Los histogramas son uno de los métodos más utilizados para mostrar los valores observados para una variable. Son simples, bonitas y muy informativas. No obstante, sí se necesita un poco de esfuerzo para dibujar. A veces puede ser bastante útil hacer uso de opciones más simples, aunque menos atractivas visualmente. Una de esas alternativas es la parcela de tallo y hoja. A una primera aproximación se puede pensar en una gráfica de tallo y hoja como una especie de histograma basado en texto. Las parcelas de tallo y hoja no se utilizan tan ampliamente en estos días como hace 30 años, ya que ahora es tan fácil dibujar un histograma como dibujar una parcela de tallo y hoja. No sólo eso, no funcionan muy bien para conjuntos de datos más grandes. Como consecuencia, probablemente no tendrás tanta necesidad de usarlos tú mismo, aunque es posible que te encuentres con ellos en publicaciones más antiguas. En estos días, la única situación del mundo real donde los uso es si tengo un pequeño conjunto de datos con 20-30 puntos de datos y no tengo una computadora a mano, porque es bastante fácil dibujar rápidamente una trama de tallo y hoja a mano.
Con todo eso como fondo, echemos un vistazo a las parcelas de tallo y hoja. Los datos de márgenes AFL contienen 176 observaciones, que se encuentran en el extremo superior para lo que se puede trazar de manera realista de esta manera. La función en R para dibujar parcelas de tallo y hoja se llama stem ()
y si pedimos una parcela de tallo y hoja de los datos afl.margins
, esto es lo que obtenemos:
stem( afl.margins )
##
## The decimal point is 1 digit(s) to the right of the |
##
## 0 | 001111223333333344567788888999999
## 1 | 0000011122234456666899999
## 2 | 00011222333445566667788999999
## 3 | 01223555566666678888899
## 4 | 012334444477788899
## 5 | 00002233445556667
## 6 | 0113455678
## 7 | 01123556
## 8 | 122349
## 9 | 458
## 10 | 148
## 11 | 6
Los valores a la izquierda del |
se llaman tallos y los valores a la derecha se llaman hojas. Si solo miras la forma que hacen las hojas, puedes ver algo que se parece mucho a un histograma hecho de números, solo girado 90 grados. Pero si sabes leer la trama, aquí hay bastante información adicional. De hecho, también te está dando los valores reales de todas las observaciones en el conjunto de datos. Para ilustrar, echemos un vistazo a la última línea en la parcela de tallo y hoja, a saber, 11 | 6
. Específicamente, comparemos esto con los valores más grandes del conjunto de datos afl.margins
:
> max( afl.margins )
[1] 116
Hm... 11 | 6
versus 116
. Obviamente la parcela de tallo y hoja está tratando de decirnos que el mayor valor en el conjunto de datos es 116. De igual manera, cuando miramos la línea que dice 10 | 148
, la forma en que la interpretamos para señalar que la gráfica de tallo y hoja nos está diciendo que el conjunto de datos contiene observaciones con valores 101, 104 y 108. Por último, cuando vemos algo así como 5 | 00002233445556667
los cuatro 0
s en la parcela de tallo y hoja nos están diciendo que hay cuatro observaciones con valor 50.
No voy a hablar de ellos con mucho detalle, pero debo señalar que algunas opciones de personalización están disponibles para parcelas de tallo y hoja en R. Los dos argumentos que puedes usar para hacer esto son:
escala
. Cambiar laescala
de la gráfica (el valor predeterminado es 1), lo que es análogo a cambiar el número de roturas en un histograma. La reducción de la escala hace que R reduzca el número de valores de tallo (es decir, el número de roturas, si esto fuera un histograma) que utiliza la gráfica.ancho
. La segunda forma en la que se puede personalizar una gráfica de tallo y hoja es alterar elancho
(el valor predeterminado es 80). Cambiar el ancho altera el número máximo de valores de hoja que se pueden mostrar para cualquier tallo dado.
No obstante, dado que las parcelas de tallo y hoja no son tan importantes como solían ser, dejaré que el lector interesado investigue estas opciones. Pruebe los siguientes dos comandos para ver qué sucede:
> stem( x = afl.margins, scale = .25 )
> stem( x = afl.margins, width = 20 )
La única otra cosa a tener en cuenta sobre las parcelas de tallo y hoja es la línea en la que R te dice dónde está el punto decimal. Si nuestro conjunto de datos hubiera incluido solo los números .11, .15, .23, .35 y .59 y hubiéramos dibujado una gráfica de tallo y hoja de estos datos, entonces R movería el punto decimal: los valores del tallo serían 1,2,3,4 y 5, pero R te diría que el punto decimal se ha movido a la izquierda del símbolo |
. Si quieres ver esto en acción, prueba el siguiente comando:
> stem( x = afl.margins / 1000 )
La propia trama de tallo y hoja se verá idéntica a la original que dibujamos, excepto por el hecho de que R te dirá que el punto decimal se ha movido.