Hola. Antes de empezar a conocer R, quiero comentarles que soy nuevo en este lenguaje y quiero perdir disculpas si por ahi me confunda en algo. Tratare de que este material se lo mas entendible por ustedes. Sin otro mas, empecemos:

Bloques de Construccion Basicos

Veamos algunos bloques basicos de programacion R.

Si desean obtener mas informacion sobre un tema en particular relacionado conR, pueden escribir help.start() en la consola, que este abrira un menu de recursos.

En forma más simple, podemos utiliar a R como una calculadora interactiva. Veamos, probando una adicion sencilla, escribe 10+20 en la consola y pulsamos Enter.

10 + 20
## [1] 30

R simplemente imprime el resultado de 20 por defecto. Ademas de la adicion (+), podemos hacer una substraccion (-), division (/), multiplicacion (*). En R no estamos limitados a dos numeros, tambien podemos usar tantos como queramos. Por ejemplo 10 + 3 - 10/42.

10 + 3 - 10/42
## [1] 12.7619

Todas estas operaciones siguen las leyes generales de la aritmetica que conocemos (por ejemplo, multiplicación y división en primer lugar, seguidas de suma y resta).

Esta aritmética es todo muy útil, que lo podemos usar con una calculadora! Sin embargo, R es un lenguaje de programación y a menudo la razón por la que usamos un lenguaje de programación en lugar de una calculadora es automatizar algún proceso o evitar la repetición innecesaria.

En este caso, podemos usar nuestro resultado de arriba en un segundo calculo. En lugar de volver a escribir 10+20 cada vez que lo necesitamos, podemos crear una nueva variable que almacene el resultado.

La forma de asignar un valor a una variable en R es mediante el operador de asignacion, que es solo un simbolo ‘menos que’ seguido de un signo ‘menos’. <-, pensemos que el operador de asignacion es una flecha.

Entonces para asignar el resultado de 10 + 20 a una nueva variable que lo llamaremos x, escribimos x <- 10 + 20.

x <- 10 + 20

Oh, que paso aqui, no nos imprimio el resultado. Tranquilo, cuando utilizamos el operador de asignacion, R supone que no deseamos ver el resultado, sino que tiene la intencion de usar el resultado para otra cosa mas adelante. Esto quiere decir que R almaceno el resultado. Ya se, se estan preguntando ahora como vemos el resultado. Para ver el resultado o cotenido de la variable x, escribiremos x en la consola y presionamos enter.

x
## [1] 30

Esta capacidad de almacenar variables u objetos, y su contenido es muy útil. Nos permite pasar estas variables a otros cálculos, así como almacenar la salida como una variable diferente.

Ahora crearemos otra variable al que le llamaremos y, a esta variable le almacenaremos el resultado de x - 3.

y <- x-3

Y escribiremos y para averiguar el resultado.

y
## [1] 27

Hasta ahora vemos que no es nada del otro mundo. Crearemos una pequeña coleccion de numeros llamada vector. Cualquier objeto que contenga datos se denomina estructura de datos y los vectores numéricos son el tipo más simple de estructura de datos en R. De hecho, incluso un solo número se considera un vector de longitud uno.

La forma más fácil de crear un vector es con la función c(), que significa ‘concatenar’ o ‘combinar’. Para crear un vector que contenga los números 2, 5 y 3.14, escriba c(2, 5, 3.14). Cada número debe estar separado por una coma. Pruébelo ahora y almacene el resultado en una variable llamada z.

z <- c(1.1, 9, 3.14)

Y escribimos z para visualizarlo.

z
## [1] 1.10 9.00 3.14

Cada vez que tenga preguntas sobre una función en particular, puede acceder a los archivos de ayuda integrados de R a través del comando. Por ejemplo, si desea obtener más información sobre la función c(), escriba ?c sin los paréntesis que normalmente siguen un nombre de función. Pruébalo.?

Ahora vamos a combinar vectores. Crearemos un vector (z, 2020, z), a este vector no le asignaremos variable para ver el resultado inmediatamente.

c(z, 2020, z)
## [1]    1.10    9.00    3.14 2020.00    1.10    9.00    3.14

Podemos notar que z es un valor numerico, entonces podemos utilizarlo en expresines aritmenticas. Escribiremos lo siguiente: z*2 + 100

z*2 + 100
## [1] 102.20 118.00 106.28

En primer lugar, R multiplicó cada uno de los tres elementos en z por 2. Luego agregó 100 a cada elemento para obtener el resultado que ves arriba. Esta es otra característica extremadamente útil de R y nos permitirá trabajar con conjuntos de datos muy grandes wow esto es increiblemente fácil y poderosamente.

Otros operadores aritméticos comunes son x^2 (donde x^2 significa ‘x al cuadrado’). Para tomar la raíz cuadrada, utilice la función sqrt() y para tomar el valor absoluto, utilice la función abs().

Veamos, hallemos z^2

z^2
## [1]  1.2100 81.0000  9.8596

Ahora tomemos la raíz cuadrada de z - 1 y le asígnaremos a una nueva variable llamada raiz.

raiz <- sqrt(z - 1)

Ahora z para ver el resultado

raiz
## [1] 0.3162278 2.8284271 1.4628739

Podemos ver que la variable razi tiene una longitud de 3

Como te habras dado cuenta, R primero restó 1 de cada elemento de z, luego tomó la raíz cuadrada de cada elemento. Esto le deja con un vector de la misma longitud que el vector original z.

Ahora, crearemos una nueva variable llamada div que obtenga el valor de z dividido por raiz.

div <- z / raiz

Ahora div para ver el resultado

div
## [1] 3.478505 3.181981 2.146460

Cuando se proporcionan dos vectores de la misma longitud, R simplemente realiza la operación aritmética especificada (+, -, *, etc.) elemento por elemento. Si los vectores son de diferentes longitudes, R ‘recicla’ el vector más corto hasta que tiene la misma longitud que el vector más largo.

Cuando hicimos z * 2 + 100 en nuestro ejemplo anterior, z era un vector de longitud 3, pero técnicamente 2 y 100 son cada vector de longitud 1. Cuando le pedimos a R que calcule z * 2 + 100, lo que hizo fue z * c(2, 2, 2) + c(100, 100, 100).

Veamos como funciona este vector reciclaje, crearemos dos vectores c(1, 2, 3, 4) y c(0, 10). No lo guardaremos en una variable ya que queremos ver el resultado inmediatamente.

c(1, 2, 3, 4) + c(0, 10)
## [1]  1 12  3 14

Ahora si la longitud del vector más corto no se divide uniformemente en la longitud del vector más largo, R seguirá aplicando el método de ‘reciclaje’, pero lanzará una advertencia para hacerle saber lo que esta sucediendo.

c(1, 2, 3, 4) + c(0, 10, 100)
## Warning in c(1, 2, 3, 4) + c(0, 10, 100): longitud de objeto mayor no es
## múltiplo de la longitud de uno menor
## [1]   1  12 103   4