install.packages(‘Nombre de la librería’)
library(shiny)
El directorio o carpeta de trabajo es el lugar en nuestra computadora en el que se encuentran los archivos con los que estamos trabajando en R. Este es el lugar donde R buscara archivos para importarlos y al que serán exportados.
Puedes encontrar cuál es tu directorio de trabajo con la función getwd(). Sólo tienes que escribir la función en la consola y ejecutarla.
getwd()
## [1] "C:/Users/danie/Desktop/Online"
Puedes cambiar el directorio de trabajo usando la función setwd() y ubicar la nueva ruta de trabajo.
Ejemplo: setwd(‘Nuevo_Directorio’)
R dispone de un sistema de ayuda que se puede invocar bien desde el menú que aparece al iniciar el programa (opción Help) o ejecutando algunas funciones.
help("sum")
## starting httpd help server ... done
Sum of Vector Elements Description sum returns the sum of all the values present in its arguments.
Usage sum(…, na.rm = FALSE) Arguments … numeric or complex or logical vectors.
Details This is a generic function: methods can be defined for it directly or via the Summary group generic. For this to work properly, the arguments … should be unnamed, and dispatch is on the first argument.
Logical true values are regarded as one, false values as zero. For historical reasons, NULL is accepted and treated as if it were integer(0)…………
Para visualizar el ejemplo de una función ejecutar el siguiente código:
example("sum")
##
## sum> ## Pass a vector to sum, and it will add the elements together.
## sum> sum(1:5)
## [1] 15
##
## sum> ## Pass several numbers to sum, and it also adds the elements.
## sum> sum(1, 2, 3, 4, 5)
## [1] 15
##
## sum> ## In fact, you can pass vectors into several arguments, and everything gets added.
## sum> sum(1:2, 3:5)
## [1] 15
##
## sum> ## If there are missing values, the sum is unknown, i.e., also missing, ....
## sum> sum(1:5, NA)
## [1] NA
##
## sum> ## ... unless we exclude missing values explicitly:
## sum> sum(1:5, NA, na.rm = TRUE)
## [1] 15
En R se puede generar cualquier función aritmética
57 + 89
## [1] 146
45 - 87
## [1] -42
4*3^3
## [1] 108
Los operadores lógicos son usados para operaciones de álgebra Booleana, es decir, para describir relaciones lógicas, expresadas como verdadero (TRUE) o falso (FALSO).
Para generar la expresión igual se utiliza los dos símbolos de igual “==” Ejemplo:
3 == 4 # simbolo de igual
## [1] FALSE
Para generar la expresión no es igual se utiliza el siguiente signo “!=” Ejemplo:
3!=4 # Simbolo de diferente
## [1] TRUE
Para generar la expresión de menor que se utiliza el signo “<” Ejemplo:
3<4
## [1] TRUE
Para generar la expresión de menor que se utiliza el signo “>” Ejemplo:
3>4
## [1] FALSE
Se puede construir un vector de tipo numérico, lógico o carácter. Existen diferentes formas para definir un vector en R
Primera Forma
c(0, 1, 1, 2, 3, 5, 8)
## [1] 0 1 1 2 3 5 8
La palabra C permite concatenar los elementos que conforman el vector.
Segunda Forma
1:10
## [1] 1 2 3 4 5 6 7 8 9 10
Tercera Forma
seq(from = 1, to = 5)
## [1] 1 2 3 4 5
La funcion “from” delimita desde donde empieza el Vector y la palabra “to” en donde termia el vector secuencial.
Cuarta Forma
seq(from = 2, by = -0.1, length.out = 4)
## [1] 2.0 1.9 1.8 1.7
Añadiendo la función by = “Valor” se puede crear un vector descendente o ascendente y la funcíon length.out permite delimitar el número de veces de elemnetos dentro del vector.
Las operaciones aritméticas también se pueden ejecutar con vectores
Ejemplos
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) + 1
## [1] 2 3 4 5
1 / c(1, 2, 3, 4, 5)
## [1] 1.0000000 0.5000000 0.3333333 0.2500000 0.2000000
c(1, 2, 3, 4) + c(10, 100)
## [1] 11 102 13 104
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
En R se pueden usar como vectores caracteres o palabras.
Ejemplos
"Hola clase"
## [1] "Hola clase"
c('Hola clase', 'Adios clase')
## [1] "Hola clase" "Adios clase"
LETTERS[1:5]
## [1] "A" "B" "C" "D" "E"
letters[-(6:24)]
## [1] "a" "b" "c" "d" "e" "y" "z"
LETTERS: Función que permite crear el caracter en mayuscula letters : Función que permite crear el caracter en minúscula
Raiz cuadrada:
sqrt(9)
## [1] 3
Exponencial
exp(1)
## [1] 2.718282
PI
pi
## [1] 3.141593
Logaritmo:
log(10)
## [1] 2.302585
Logaritmo al Cuadrado
log2(10)
## [1] 3.321928
Absoluto
abs(-6)
## [1] 6
Signo
La función que devuelve el signo de un conjuno de datos.
sign(-5:5)
## [1] -1 -1 -1 -1 -1 0 1 1 1 1 1
Redondeo de una operación
Con la siguiente función se puede redondear el resultado de una operación delimitando el número de decimales.
round(7 / 18, digits = 2)
## [1] 0.39
Numero de decimales
Con la siguiente funcipon se puede delimitar el número de dígitos de una operación.
options(digits=4)
pi
## [1] 3.142
Redondeo para abajo
floor(1.5)
## [1] 1
Redondeo para arriba
ceiling(1.3)
## [1] 2
Factorial
Devuelve la suma factorila de un número
factorial(5)
## [1] 120
Las funciones de resumen permiten el cálculo de los elementos dentro de 1 vector.
###Ejemplos
Suma
sum(1:3)
## [1] 6
Producto
prod(c(3,5,7))
## [1] 105
Mínimo
min(c(1,6,-14,-154,0))
## [1] -154
Máximo
max(c(1,6,-14,-154,0))
## [1] 6
Rango
range(c(1,6,-14,-154,0))
## [1] -154 6
Condición de Vector
¿Existe algún elemento menor a “0” dentro del vector ?
any(c(1,6,-14,-154,0) < 0)
## [1] TRUE
Identifica elementos negativos
Identifica la posicón del elemento negativo dentro del vector
En el ejemplo los elementos negativos se encuentra en la posición 3 y 4 dentro del vector.
which(c(1,6,-14,-154,0) < 0)
## [1] 3 4
Condición de todos los elementos del vector
En el siguiente ejemplo se solicita identificar si todos los elementos del vector cumplen con una condición.
all(c(1,6,-14,-154,0) < 0)
## [1] FALSE
##Crear una variables
Para asignar un valor a una variable u objeto se utiliza el siguiente código “<-”
x <- 1
y <- 2
z <- c(x,y)*2
z
## [1] 2 4
y <- 4
z
## [1] 2 4
b <- c(1,2,3,4,5,6,7,8,9,10,11,12)
b <- 1:12
b
## [1] 1 2 3 4 5 6 7 8 9 10 11 12
b[7]
## [1] 7
b[1:6]
## [1] 1 2 3 4 5 6
b[b %% 3 == 0]
## [1] 3 6 9 12
b[c(1,6,11)]
## [1] 1 6 11
b[c(8,4,9)]
## [1] 8 4 9
b %% 3 == 0
## [1] FALSE FALSE TRUE FALSE FALSE TRUE FALSE FALSE TRUE FALSE FALSE TRUE
b[b %% 3 == 0]
## [1] 3 6 9 12
sum(b)
## [1] 78
length(b)
## [1] 12
min(b)
## [1] 1
mean(b)
## [1] 6.5
sd(b)
## [1] 3.606
one <- 1
two <- 2
one = two
one
## [1] 2
two
## [1] 2
one <- 1
two <- 2
one == two
## [1] FALSE
3 -> three
three
## [1] 3
f <- function(x,y){
c(x+1, y+1)
}
f(1,2)
## [1] 2 3
f
## function(x,y){
## c(x+1, y+1)
## }
f(7, -3)
## [1] 8 -2
R permite identificar alertas cuando existe valores fuera del rango de la lógica de la función usada.
Valores NA
v <- c(1,2,3)
v
## [1] 1 2 3
length(v) <- 4
v
## [1] 1 2 3 NA
Inf/-Inf
2 ^ 1024
## [1] Inf
- 2 ^ 1024
## [1] -Inf
1 / 0
## [1] Inf
Valor NaN
Inf - Inf
## [1] NaN
0 / 0
## [1] NaN
R permite usar múltiples tipos de Estructuras de Datos, como Vectores, Matrices, Array, Dimensiones,
En el ejemplo se identifica un vector con 12 elementos numéricos del 1 al 12.
v <- c(1,2,3,4,5,6,7,8,9,10,11,12)
v
## [1] 1 2 3 4 5 6 7 8 9 10 11 12
En el ejemplo se identifica una matriz de 3 filas por 4 columnas con elementos numéricos.
m <- matrix(data=c(1,2,3,4,5,6,7,8,9,10,11,12),nrow=3,ncol=4)
m
## [,1] [,2] [,3] [,4]
## [1,] 1 4 7 10
## [2,] 2 5 8 11
## [3,] 3 6 9 12
a <- array(c(1,2,3,4,5,6,7,8,9,10,11,12),dim=c(3,4))
a
## [,1] [,2] [,3] [,4]
## [1,] 1 4 7 10
## [2,] 2 5 8 11
## [3,] 3 6 9 12
w <- array(c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18),dim=c(3,3,2))
w <- array(1:18,dim=c(3,3,2))
w
## , , 1
##
## [,1] [,2] [,3]
## [1,] 1 4 7
## [2,] 2 5 8
## [3,] 3 6 9
##
## , , 2
##
## [,1] [,2] [,3]
## [1,] 10 13 16
## [2,] 11 14 17
## [3,] 12 15 18
En los siguientes ejemplos se analizaran distintas formas para acceder a un elemento dentro del conjunto de datos.
w[1,1,1]
## [1] 1
a[2,2]
## [1] 5
a[1:2,1:2]
## [,1] [,2]
## [1,] 1 4
## [2,] 2 5
a[1,]
## [1] 1 4 7 10
a[ ,1]
## [1] 1 2 3
a[1:2,]
## [,1] [,2] [,3] [,4]
## [1,] 1 4 7 10
## [2,] 2 5 8 11
a[c(1,3),]
## [,1] [,2] [,3] [,4]
## [1,] 1 4 7 10
## [2,] 3 6 9 12
Para acceder a los elementos de la lista se usa el signo “$”
e <- list(thing="hat", size="8.25")
e
## $thing
## [1] "hat"
##
## $size
## [1] "8.25"
e$thing
## [1] "hat"
e[1]
## $thing
## [1] "hat"
e[[1]]
## [1] "hat"
g <- list("this list references another list", e)
g
## [[1]]
## [1] "this list references another list"
##
## [[2]]
## [[2]]$thing
## [1] "hat"
##
## [[2]]$size
## [1] "8.25"
Una lista puede contener matrices y conjuntos de datos.
Sirve para la creación de una estructura de datos y acceder en diferentes elementos.
teams <- c("PHI","NYM","FLA","ATL","WSN")
w <- c(92, 89, 94, 72, 59)
l <- c(70, 73, 77, 90, 102)
nleast <- data.frame(teams,w,l)
nleast
## teams w l
## 1 PHI 92 70
## 2 NYM 89 73
## 3 FLA 94 77
## 4 ATL 72 90
## 5 WSN 59 102
nleast$w
## [1] 92 89 94 72 59
nleast$teams=="FLA"
## [1] FALSE FALSE TRUE FALSE FALSE
nleast$l[nleast$teams=="FLA"]
## [1] 77
nleast[1,]
## teams w l
## 1 PHI 92 70
nleast[,1]
## [1] PHI NYM FLA ATL WSN
## Levels: ATL FLA NYM PHI WSN
nleast[,2]
## [1] 92 89 94 72 59
nleast[,3]
## [1] 70 73 77 90 102
summary(nleast)
## teams w l
## ATL:1 Min. :59.0 Min. : 70.0
## FLA:1 1st Qu.:72.0 1st Qu.: 73.0
## NYM:1 Median :89.0 Median : 77.0
## PHI:1 Mean :81.2 Mean : 82.4
## WSN:1 3rd Qu.:92.0 3rd Qu.: 90.0
## Max. :94.0 Max. :102.0