Una vez instalado, podemos abrir el programa haciendo doble clic y se abrirá la consola de R. La consola es la herramienta principal del programa, donde nosotros vamos a escribir comandos, expresiones y ejecutar operaciones.
En la parte de arriba de la consola, al inicio, siempre aparece información básica del programa, por ejemplo, la versión de R que estamos utilizando.
Al comienzo de la linea de comando siempre aparece este símbolo >
Cuando vemos este simbolo, significa que el programa está esperando a que escribamos una operación.
La operación más sencilla sería una suma:
2+2
## [1] 4
Si delante de cualquier comando ponemos una almohadilla (#) el comando no se ejecuta. Ejemplo:
# 2+3
Como veis no ocurre nada. Lo más sencillo que podemos hacer es utilizar R como una calculadora, para hacer operaciones matematicas sencillas. Por ejemplo:
2+3+4+5+6
## [1] 20
Si le damos a enter antes de tiempo, el programa nos permite terminar la operación.
2+3+4+5+
6
## [1] 20
2*4
## [1] 8
2/4
## [1] 0.5
2+3*6
## [1] 20
También podemos utilizar paréntesis para indicar el orden de las operaciones
(2+3)*6
## [1] 30
(2+3)/6
## [1] 0.8333333
2+3/6
## [1] 2.5
Antes de comenzar a ver qué son los objetos y funciones haremos una breve introducción a los vectores.
Si os fijais cualquier operación que hacemos presenta un [1] entre corchetes delante. Esto sería un vector de un solo elemento. Podemos construir vectores más grandes de la siguiente forma:
c(0,1,2,3,4,5)
## [1] 0 1 2 3 4 5
Se trata de una secuencia de numeros en un orden determinado. También podemos decirle que escriba una secuencia de numero del 1 al 50
1:50
## [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
## [24] 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
## [47] 47 48 49 50
El resultado nos dice que posición ocupa cada numero dentro de la secuencia.
2:50
## [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
## [24] 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
## [47] 48 49 50
Podemos hacer operaciones matematicas con los vectores, se ejecutaría según el orden de los elementos dentro del vector:
c(1, 2, 3, 4) + c(10, 20, 30, 40)
## [1] 11 22 33 44
c(1, 2, 3, 4) * c(10, 20, 30 ,40)
## [1] 10 40 90 160
c(1, 2, 3, 4) - c(1, 1, 1, 1)
## [1] 0 1 2 3
c(1, 2, 3, 4) / c(10, 20, 30, 40)
## [1] 0.1 0.1 0.1 0.1
Podemos sumar/multiplicar/dividir/otra operación un numero a un vector. Algunos ejemplos:
c(10, 20, 30, 40) + 1
## [1] 11 21 31 41
c(10, 20, 30, 40) * 2
## [1] 20 40 60 80
c(10, 20, 30, 40) / 2
## [1] 5 10 15 20
c(10, 20, 30, 40) ^ 2 # elevar a un exponente
## [1] 100 400 900 1600
2/ c(10, 20, 30, 40)
## [1] 0.20000000 0.10000000 0.06666667 0.05000000
Pero mirad que ocurre cuando no tienen la misma longitud:
c(1,2,3,4,5) + c(10, 100)
## Warning in c(1, 2, 3, 4, 5) + c(10, 100): longitud de objeto mayor no es
## múltiplo de la longitud de uno menor
## [1] 11 102 13 104 15
Se puede escribir texto o elementos “character” dentro de un vector
"Me gusta R"
## [1] "Me gusta R"
c("Me gusta R", "voy a aprender mucho")
## [1] "Me gusta R" "voy a aprender mucho"
c("Julia", "Alejandro", "Ruben")
## [1] "Julia" "Alejandro" "Ruben"
Cualquier cosa que tenga el simbolo de almohadilla (“#”) delante es ignorado. Esto nos permite hacer comentarios al principio de una linea o detrás de una operación.
# Hola! como tengo una almohadilla, esta orden no se ejecuta
1 + 2 + # puedo poner texto también detrás o medio de una operación
+ 3
## [1] 6
En R podemos asignar valores a variables que se pueden guardar en el “environment”. Se llaman objetos. Para asignar un valor a un objeto utilizamos este simbolo <-
x <- 3
y <- 2
Estos objetos que he denominado “x” e “y” se quedan almacenados en nuestra sesión de R (“environment”) Si ahora escribimos “x”, estaríamos llamando al objeto “x”. Ejemplos:
x
## [1] 3
y
## [1] 2
x+y
## [1] 5
z <- x+y
z
## [1] 5
Puedo cambiar el valor de “y”
y
## [1] 2
y <- 10
Ssi llamamos al objeto “z”“, vemos que no cambia de valor, porque”z" se generó antes de que “y” cambiara de valor
z
## [1] 5
# sin embargo si ahora volvemos a asignar un valor z, su valor cambia
z <- x+ y
Podemos asignar al objeto “z” un vector de longitud 2 (es decir con 2 elementos)conformado por x e y
z <- c(x, y)
z
## [1] 3 10
Otro ejemplo, generamos un vector muy largo (un poco largo), y vemos como podemos seleccionar elementos dentro del vector. Otros ejemplos más complicados de operaciones con vectores los veremos en el Modulo o Tema 3.
b <- c(1,2,3,4,5,6,7,8,9,10,11,12)
b
## [1] 1 2 3 4 5 6 7 8 9 10 11 12
b[1]
## [1] 1
b[8]
## [1] 8
b[1:4] #podemos seleccionar un fragmento o rango dentro del vector b utilizando :
## [1] 1 2 3 4
En R, las funciones hacen el trabajo por nosotros. Ya hemos utilizado algunas, por ejemplo cuando hemos construido un vector anteponiendo c(…). Veamos otras funciones útiles. Normalmente las funciones las encontramos en la forma f(arg1, arg2,…) donde “f” sería el nombre de la función y “arg1”, “arg2” los argumentos de la función. Esto es variable entre funciones y frecuentemente tendremos que consultar la ayuda o “help” de cada función y leer cómo se utiliza. De momento, algunos ejemplos:
cos(234) # la función es "cos" y el argumento sería 234
## [1] 0.0486335
log2(1)
## [1] 0
log2(2)
## [1] 1
log(x=64, base=4)
## [1] 3
log(64,4)
## [1] 3
sqrt(4)
## [1] 2
sum(17,2)
## [1] 19
Algunos trucos para el futuro: Podemos utilizar “=” para asignar o “<-” (aunque no es recomendable usar = para asignar valores a objetos, mejor utiliza <-) Podemos utilizar “==” o “!=” para comparar y falsificar. La respuesta que te devuelve es en forma de vector TRUE/FALSE (verdadero o falso)
Ejemplo:
3==4 # esto es muy útil para hacer comparaciones (significa "igual")
## [1] FALSE
3!=4 # esto es muy útil para hacer comparaciones (significa "no es igual")
## [1] TRUE
3!=3
## [1] FALSE
pepe <- 1 # siempre mejor asignar valores a objetos así
cosa = 1
Un paquete es una colección de funciones (que guardan relación entre sí) elaboradas por alguien. Contienen ficheros de ayuda y archivos de datos. R ofrece una variedad enorme de paquetes para elaborar gráficos interesantes como “ggplot2”, para análisis estadísitico, modelización… Algunos paquetes se instalan por defecto al instalar R. Otras veces tenemos que descargarlos nosotros a propósito desde un repositorio publico. Tambien existe la opción de construir tus propios paquetes de funciones…pero esto es más avanzado.
Algunas funciones que debes conocer y que son útiles.
(.packages()) # te da una lista de los paquetes cargados en este momento
(.packages(all.available=TRUE)) # te devuelve la lista de paquetes disponibles
library() # te devuelve la lista de paquetes disponibles
? require # así accedemos a la ayuda de require
En la mayoría de ocasiones necesitamos utilizar paquetes que no vienen instalados por defecto en R. Por ejemplo, intentaremos cargar el paquete “ggplot2” para la elaboración profesional de gráficos.
library (ggplot2) # como ves no funciona porque no está en nuestra lista de paquetes disponibles
library() # lo comprobamos y vemos que no está instalado.
Necesitamos utilizar la función “install.packages” que nos permite instalar paquetes en R.
install.packages(c("ggplot2")) # lo instala
library() # lo comprobamos y vemos que ahora si está instalado.
Ahora lo tenemos instalado pero no cargado, por lo tanto no podemos usarlo. Necesitamos utilizar la función library(NOMBRE DEL PAQUETE), para cargar el paquete que hemos instalado, y poder empezar a usar sus funciones.
library (ggplot2) # así cargamos un paquete instalado previamente
remove.packages(c("ggplot2"),.Library) # así lo eliminamos, en caso de que no nos interese más este paquete
library() # si hacemos la comprobación, ahora no debería aparecer
Podemos hacer todo esto utilizando los botones disponibles en la consola de Rstudio, sin necesidad de utilizar comandos. Esto depende de lo que te guste a tí más. Lo vemos en el video.