Saltar al contenido principal

# 3.3: Hacer Cálculos Simples con R

$$\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}$$

Bien, ahora que hemos discutido algunos de los tediosos detalles asociados con escribir comandos R, volvamos a aprender a usar la pieza de software estadístico más poderosa del mundo como una calculadora de $2. Hasta el momento, todo lo que sabemos hacer es sumar. Claramente, una calculadora que solo hiciera adición sería un poco estúpida, así que debería contarte cómo realizar otros cálculos simples usando R. Pero primero, algo más de terminología. La suma es un ejemplo de una “operación” que se puede realizar (específicamente, una operación aritmética), y el operador que la realiza es +. Para las personas con antecedentes de programación o matemáticas, esta terminología probablemente se sienta bastante natural, pero para otras personas puede parecer que estoy tratando de hacer que algo muy simple (además) suene más complicado de lo que es (llamándolo una operación aritmética). Hasta cierto punto, eso es cierto: si la adición fuera la única operación que nos interesaba, sería un poco tonto introducir toda esta terminología extra. Sin embargo, a medida que avanzamos, comenzaremos a usar cada vez más diferentes tipos de operaciones, así que probablemente sea una buena idea aclarar el lenguaje ahora, mientras seguimos hablando de conceptos muy familiares como ¡adición! ## Sumar, restar, multiplicar y dividir Entonces, ahora que tenemos la terminología, aprendamos a realizar algunas operaciones aritméticas en R. Para ello, la Tabla 3.1 enumera los operadores que corresponden a la aritmética básica que aprendimos en la primaria: suma, resta, multiplicación y división. Cuadro 3.1: Operaciones aritméticas básicas en R. Estos cinco operadores se utilizan con mucha frecuencia a lo largo del texto, por lo que es importante estar familiarizado con ellos desde el principio.  operación operador entrada de ejemplo salida de ejemplo adición + 10 + 2 12 resta - 9 - 3 6 multiplicación * 5 * 5 25 división / 10/3 3 poder ^ 5 ^ 2 25 Como puede ver, R usa símbolos bastante estándar para denotar cada una de las diferentes operaciones que podría querer realizar: la suma se realiza usando el operador +, la resta la realiza el operador -, y así sucesivamente. Entonces, si quisiera saber qué es 57 veces 61 (¿y quién no?) , puedo usar R en lugar de una calculadora, así: 57 * 61 ## [1] 3477 Entonces eso es práctico. ## Tomando poderes Las primeras cuatro operaciones enumeradas en la Tabla 3.1 son cosas que todos aprendimos en la primaria, pero no son las únicas operaciones aritméticas integradas en R. Hay otras tres operaciones aritméticas que probablemente debería mencionar: tomar poderes, hacer división entera y calcular un módulo. De los tres, el único que es de alguna importancia real para los fines de este libro es tomar poderes, por lo que voy a discutir ese aquí: los otros dos se discuten en el Capítulo 7. Para aquellos de ustedes que aún pueden recordar sus matemáticas de secundaria, esto debería ser familiar. Pero para algunas personas las matemáticas de secundaria fueron hace mucho tiempo, y otros de nosotros no escuchamos muy duro en la secundaria. No es complicado. Como estoy seguro de que todos probablemente recordarán el momento en que leen esto, el acto de multiplicar un número x por sí mismo n veces se llama “elevar x al n-ésimo poder”. Matemáticamente, esto está escrito como xn. Algunos valores de n tienen nombres especiales: en particular x2 se llama x-cuadrado, y x3 se llama x-cubed. Entonces, la 4ta potencia de 5 se calcula así: 5 4 =5×5×5 Una forma en la que podríamos calcular 5 4 en R sería escribir en la multiplicación completa como se muestra en la ecuación anterior. Es decir, podríamos hacer esto 5 * 5 * 5 * 5 ## [1] 625 pero sí parece un poco tedioso. Sería muy molesto de hecho si quisieras calcular 5 15, ya que el comando terminaría siendo bastante largo. Por lo tanto, para facilitarnos la vida, utilizamos el operador eléctrico en su lugar. Cuando hacemos eso, nuestro comando para calcular 5 4 va así: 5 ^ 4 ## [1] 625 Mucho más fácil. ## Hacer cálculos en el orden correcto Bien. En este punto, ya sabes tomar una de las piezas de software estadístico más poderosas del mundo, y usarla como calculadora de$2. Y como bono, has aprendido algunos conceptos de programación muy básicos. Eso no es nada (se podría argumentar que acaba de ahorrarse 2 dólares) pero por otro lado, tampoco es mucho. Para poder utilizar R de manera más efectiva, necesitamos introducir más conceptos de programación.

En la mayoría de las situaciones en las que querría usar una calculadora, es posible que desee hacer múltiples cálculos. R te permite hacer esto, simplemente escribiendo comandos más largos. 21 De hecho, ya hemos visto un ejemplo de esto antes, cuando escribí 5 * 5 * 5 * 5. Sin embargo, probemos un ejemplo ligeramente diferente:

1 + 2 * 4
## [1] 9

Claramente, esto tampoco es un problema para R. No obstante, vale la pena detenerse por un segundo, y pensar en lo que acaba de hacer R. Claramente, como nos dio una respuesta de 9 debió multiplicar 2 * 4 (para obtener una respuesta provisional de 8) y luego sumar 1 a eso. Pero, supongamos que hubiera decidido simplemente ir de izquierda a derecha: si R hubiera decidido en cambio sumar 1+2 (para obtener una respuesta provisional de 3) y luego multiplicar por 4, habría llegado con una respuesta de 12.

Para responder a esto, es necesario conocer el orden de las operaciones que utiliza R. Si recuerdas volver a tus clases de matemáticas de secundaria, en realidad es el mismo orden que te enseñaron cuando estabas en la escuela: el orden “BEDMAS”. 22 Es decir, primero calcula cosas dentro de raquetas B (), luego calcula E xponentes ^, luego D ivision/y M ultiplicación *, luego A ddition + y S ubtracción -. Entonces, para continuar con el ejemplo anterior, si queremos forzar a R a calcular la parte 1+2 antes de la multiplicación, todo lo que tendríamos que hacer es encerrarla entre paréntesis:

(1 + 2) * 4 

## [1] 12

Esto es algo bastante útil para poder hacer. La única otra cosa que debo señalar sobre el orden de operaciones es qué esperar cuando se tienen dos operaciones que tienen la misma prioridad: es decir, ¿cómo resuelve R los vínculos? Por ejemplo, la multiplicación y la división son en realidad la misma prioridad, pero ¿qué debemos esperar cuando le damos a R un problema como 4/2 * 3 para resolver? Si evalúa primero la multiplicación y luego la división, calcularía un valor de dos tercios. Pero si evalúa primero la división calcula un valor de 6. La respuesta, en este caso, es que R va de izquierda a derecha, por lo que en este caso el paso de división vendría primero:

4 / 2 * 3
## [1] 6

Dicho todo lo anterior, es útil recordar que los paréntesis siempre son lo primero. Entonces, si alguna vez no estás seguro de en qué orden R hará las cosas, una solución fácil es encerrar primero entre paréntesis lo que quieres que haga. No hay nada que te imponga escribir (4/2) * 3. Al encerrar la división entre paréntesis dejamos en claro qué cosa se supone que va a pasar primero. En esta instancia no lo habrías necesitado, ya que R habría hecho la división primero de todos modos, pero cuando empiezas por primera vez ¡es mejor asegurarse de que R haga lo que quiere!

This page titled 3.3: Hacer Cálculos Simples con R 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.