Capítulo 1 Primeros cálculos en R

La idea es familiarizarse con el entorno de R y definirlo como lo que es, una “calculadora”. Es por esto que una forma de hacer cálculos con la base instrumental que trae el programa, se presenta a continuación.

Ejemplo 1.1 (Operaciones básicas) Si intentamos sumar un par de números enteros es facíl tener:
  3+5 #Una suma o adición
## [1] 8

Note que el resultado es similar a cualquier calculadora. Para esta parte, es de notar que aparece el número \([1]\) y luego sí la respuesta. Ese valor hace referencia al orden del dato dentro de los elementos del programa1.

Si por otro lado se quiere el producto de 1255 con la (raíz cuadrada) de 25 o mejor escrito como \(1255 \times \sqrt{25}\), entonces debe ser establecido de tal forma que

1255*sqrt(25) #Producto con la raíz cuadrada de 25
## [1] 6275

Si se desea obtener una seguidilla de cálculos ya toca escribirlos -como si fuera una lista- e implementarlos directamente, ya es:

  13**2 #Potencia de un número
  300/25 #Simple división entre 300 y 25
  450+320+112 #Suma de tres números enteros
  sqrt(12) #La raíz cuadrada del número 12

Todas las operaciones que se deseen realizar en R que involucran operaciones matemáticas, pueden ser escritos directamente y obtendremos los resultados deseados.

Note que el operador (#) es para decirle al programa que no ejecute lo que se encuentra después de él, se usa para tomar notas o escribir algo al respecto en los archivos script de R, por ejemplo:

#Soy carlos yanes

En el programa R se hace uso de varios elementos como el operador “<-”, que es la forma para asignar algo y el operador pipeline “%>%” que se usa para condesar objetos. El primero se usa de tal forma que

`r x<-2 es lo mismo que (x=2)`

Y el pipeline sirve igual si se tiene:

y<-mean(log(x))

Con lo que es

y<-x %>% log %>% mean

La persona se irá adecuando al uso de ellos en la medida que se familiariza con el programa y podrá determinar su estrategia de escritura de código, de acuerdo a la premisa de mantener lo que mas se pueda de forma simple y sencilla.

1.1 Script o archivo tipo bitacora

Los script son archivos que comúnmente se desarrollan en formato de texto o de bloc de notas. Constituye la forma de llevar y controlar los códigos que se van a implementar los cálculos y se referencian como bitácoras o diario, en el cuál se trabaja. Regularmente vienen instalados en el programa de R en un formato clásico o si ya se hace uso de R Studio que es un potente aliado2 en el entorno de ejecución del programa R, se le denomina IDE3.

Abrir un archivo tipo script en R Studio es sencillo, solo hay que ir al panel superior izquierdo del programa y debajo de la pestaña de File se encuentra el logo (+) y al dar click se le desplegará la lista de opciones y en el, es solo volver a dar click donde dice R Script, una forma mas rápida con el teclado es con las teclas Ctrl+Shift+N.

Al crear un script en R Studio, podrá desarrollar y escribir los códigos con el cual va realizar su trabajo, mire lo siguiente:

1.2 Otras operaciones y cálculos

En economía y en muchas ciencias sociales se hace uso extensivo de las matemáticas y de la estadística. Muchas veces será incluso necesario calcular o realizar algunas transformaciones en las variables para poder tener unas métricas mas informativas como son los logaritmos, valores absolutos, valores de forma exponencial o de notación científica, entre otros. Algunos comandos que se pueden usar en R para eso son:

Operación Resultado
Valor absoluto abs()
Logaritmo log()
Logaritmo base log(,)
Exponencial exp()
Factorial factorial()
Raíz cuadrada sqrt()
Ejemplo 1.2 (Valor absoluto) Calcule el valor absoluto del número (-3), esto simplemente es:
  abs(-3) # Es el valor absoluto de (-3)
## [1] 3

Sin embargo, en una operación conjunta, si se posee una lista de elementos o un vector de elementos4, es mucho mas simple implementarlo de tal forma que:

  x<-c(-3,-5,3,11,-16,18,21,-31,-33) # Lista de valores
  abs(x)
## [1]  3  5  3 11 16 18 21 31 33

De igual forma, funciona con un logaritmo o también una operación que involucre una de forma de notación científica o exponencial, esto puede notarse así:

Ejemplo 1.3 (Cálculo de logaritmo natural) Obtener el logaritmo de una lista de elementos de una lista o vector que denominaremos (y)
  y<-c(15,21,23,29,16,28,32,45,33) # Lista de valores para vector Y
  log(y) #Se calcula el logaritmo de cada uno de los elementos
## [1] 2.708050 3.044522 3.135494 3.367296 2.772589 3.332205 3.465736 3.806662
## [9] 3.496508

Observe que el Programa calcula el logaritmo natural de cada uno de los elementos del vector (y). Para la forma exponencial, es de uso de la notación del logaritmo base (e) y que muchos conocen como la expresión de Euler, e.g: \(e^{x}\), recuerde ademas que si este lo usamos de tal manera que \(Y=ln(e^{x})=x\). Esto puede ser escrito como:

  x<-150 
  exp(x) # En R exp hace referencia a la formula de (e)
## [1] 1.39371e+65

1.3 Funciones en R

Muchas veces, se hace necesario crear nuestras propias formulas y/o funciones. Para esto, se debe utilizar por lo menos, tres ingredientes de una función. Estos son:

  1. Argumento
  2. Operación
  3. Valor

Del Argumento salen los componentes principales que van a involucrarse dentro del comando. La parte de Operación es la formula (matemática o estadística) y por último el Valor que será el resultado de la función.

mi_formula<- function(argumento) {
  operación
  return(valor)
}

Observe que los tres ingredientes aparecen en la forma del código, como la manera de implementarlo. - No puede olvidar usar los elementos de function, return y los respectivos corchetes -

Ejemplo 1.4 (Estructura de una función) Tome a consideración que le solicitan la sumatoria de un grupo de valores.Es sencillo obtener en R cuando uno tiene una expresión como:

\[\begin{equation*} \sum \limits_{i=1}^{n} X_{i} \quad \text{donde i}\; \in \; \left \{1,2,3,\dots,n \right\} \end{equation*}\]

Que viene a ser la suma de los elementos de la variable X. Tome por ejemplo que X sean las ventas de una empresa en ciertos periodos de tiempo y sus valores correspondientes son: \(\{350, 690,1120, 990 \}\). Le solicitan calcular la suma de todas ellas.

\[\begin{equation*} 350+690+1120+990 \end{equation*}\]

El comando de sum (contiene la función de suma o sumatoria) y permite calcular esa parte de forma inmediata.

x=c(350,690,1120,990)
sum(x)
## [1] 3150

Digamos ahora que se requiere tener la formula del cubo o polinomio de tercer orden, la función que permitiría eso, sería:

cubo<- function(x){  # Se le da nombre a la función (argumento)
  x^3                # Se aplica la (operación)
}
cubo(990)  #Probamos el resultado
## [1] 970299000

Obteniendo el resultado ideal del cubo de uno de los datos anteriores.-Igual puede usarse con cualquier valor o lista de elementos -. En otras consideraciones, algunas veces hay formulas un poco mas complejas de usar. Tome ahora lo siguiente:

\[\begin{equation*} \prod \limits_{i=2}^{4} (3i-2) \end{equation*}\]

Ya no se involucra la sumatoria si no la productoria. Esta última, no suma los elementos si no que los múltiplica5. Mire que de forma manual, la anterior expresión nos brinda como resultado lo siguiente:

\[\begin{equation*} (3)(2)-2\times(3)(3)-2\times(3)(4)-2=280 \end{equation*}\]

Donde la operación se repite, empezando desde el valor de 2, pasa por 3, sigue aumentando hasta el valor de 4, respectivamente. Ya haciendo uso de una función cuyo nombre le daremos (pro), el código a implementar para ajustar todo es

pro<-function(x,y){a=3*(x:y)-2;m=prod(a);m}
#Argumentos X y Y son donde empieza y termina la productoria.
pro(2,4)
## [1] 280

En la anterior, la formula se subdivide en varias partes dentro de la operación, ya que primero hay que decirle que dentro de los límites de los valores del argumento. Hay que hacer la operación continua del calculo de cada uno de los valores que hacen parte del vector asociado. Dicho en otras palabras, tener presente los límites, desde donde va hasta donde términa. Imaginese si el límite fuera mayor, es decir, que la operación se hiciera desde 3 hasta 15.

pro(3,15)
## [1] 2.857633e+17

La cifra obtenida nos da en notación científica o valores extremadamente grandes, con eso, ya nos ahorramos mucho tiempo y una gran cantidad de notación, mas o menos eso sería:

\[\begin{equation*} (3)(3)-2\times(3)(4)-2\times(3)(5)-2\times(3)(6)-2\times \cdots \times(3)(15)-2=2.8576e+17 \end{equation*}\]

La función realiza los cálculos de forma que el codigo permite simplificar -objetivo de la ciencia- enorme cantidad de cálculos y conseguir el resultado en el menor tiempo posible.


  1. Dentro de la gran mayoría de los cálculos simples o sencillos, saldrá ese número siempre acompañando cada resultado.↩︎

  2. Para mayor información consulte la pagina web o enlace de R Studio.↩︎

  3. Por sus siglas en ingles significa Integrated Drive Electronics, no es mas que un entorno de desarrollo interactivo que facilita interactuar mejor y de manera mas “amigable” con todos los asuntos de los lenguajes de programación↩︎

  4. Estos deben ir separados por (,) y colocando de ante sala la letra (c) que hace referencia a columnas en el programa R ↩︎

  5. La expresión de productoria sirve para simplificar una gran cantidad de multiplicaciones de elementos. Si usted tiene \(\prod \limits_{i=1}^{n} x_{i}\), esto le indica multiplicar cada valor del vector desde el primer elemento hasta el último, empezando desde el número que le diga el subíndice hasta el del superíndice que será el límite superior.↩︎