Naranja <- 5 # Aqui 'Naranja' es el nombre de la variable y '5' es el valor.
Manzana <- 10 # Aqui 'Manzana' es el nombre de la variable y '10' es el valor.
Mandarina <- 9 # Aqui 'Mandarina' es el nombre de la variable y '9' es el valor.R y RStudio
R es un lenguaje de programación usado para realizar procedimientos estadísticos y gráficos de alto nivel, este lenguaje fue creado en 1993 por los profesores e investigadores Robert Gentleman y Ross Ihaka.
Inicialmente el lenguaje se usó para apoyar los cursos que tenían a su cargo los profesores, pero luego de ver la utilidad de la herramienta desarrollada, decidieron colocar copias de R en StatLib.
RStudio es un entorno de desarrollo integrado (IDE) para el lenguaje de programación R. Su objetivo es proporcionar el entorno informático estadístico R.
Palabras reservadas en RStudio
R tiene palabras reservadas como son los nombres de las instrucciones utilizadas en el lenguaje de programación (break, for, function, if, in, next, repeat, return, while). # Variables y tipos Una variable es un nombre que hace referencia a un valor, al usar (<-) podemos ordenar que una variable tome un cierto valor que nosotros podemos manipular. Por ejemplo:
Reglas para definir una varibale:
- El nombre de una varibale empieza con una letra o guión abajo, no puede empezar con un número.
- Solo puede contener letras mayusculas, minusculas, números y guión abajo.
- Es importante recordar que en python los nombres de las variables distinguen entre mayúsculas y minúsculas. Observación: Para nombres de variables de varias palabras, se usan guiones bajos entre palabras (nombre_variable), pero algunos usan “camelCase” (a veces llamado “studlyCaps”) como nombreVariable.
Operaciones aritméticas con variables
Los operadores aritmeticos hacen referencia a la suma, resta, división, multiplicaciónn entre otras mas. Las cuales podemos utilizar en Rstudio para operaciones entre variables.
# Asignamos valores a las varibles 'a' y 'b'.
a <- 12
b <- 6Usando el símbolo (+) podemos sumar los valores de distintas varibales.
# Suma
print(paste("Al sumar 'a' y 'b' su resultado es:", a + b))[1] "Al sumar 'a' y 'b' su resultado es: 18"
Usando el símbolo (-) podemos restar los valores de distintas varibales.
# Resta
print(paste("Al restar 'a' y 'b' su resultado es:", a - b))[1] "Al restar 'a' y 'b' su resultado es: 6"
Usando el símbolo (*) podemos multiplicar los valores de distintas varibales.
# Multiplicación
print(paste("Al multiplicar 'a' y 'b' su resultado es:", a * b))[1] "Al multiplicar 'a' y 'b' su resultado es: 72"
Usando el símbolo (/) podemos dividir los valores de distintas varibales.
# División
print(paste("Al dividir 'a' y 'b' su resultado es:", a / b))[1] "Al dividir 'a' y 'b' su resultado es: 2"
Usando el símbolo (%/%) podemos obtener el cociente de la divisón entre los valores de distintas varibales.
# División de piso
print(paste("Al dividir 'a' y 'b' su cociente es:", a %/% b))[1] "Al dividir 'a' y 'b' su cociente es: 2"
Usando el símbolo (^) podemor elevar los valores de distintas varibales.
# Exponente
print(paste("Al elevar 'a' con exponente 'b' su resultado es:", a ^ b))[1] "Al elevar 'a' con exponente 'b' su resultado es: 2985984"
Usando el símbolo (%%) podemos obtener el residuo de la divisón entre los valores de distintas varibales.
# Módulos
print(paste("Al dividr 'a' y 'b' el residuo es:", a %% b))[1] "Al dividr 'a' y 'b' el residuo es: 0"
Operadores relacionales
Los operadores relacionales se utilizan para comprobar la relación entre los valores. Segun la condición de los operadores estos devuelven como resultado “TRUE (Verdadero)” o “FALSE (Falso)”.
# Asignamos valores a las varibles 'c' y 'd'.
c <- 10
d <- 8# Igual a relación (c==d)
print(paste("El valor de 'c' es igual al valor de 'd', esto es:", c==d))[1] "El valor de 'c' es igual al valor de 'd', esto es: FALSE"
# No es igual a la relación (c!=d)
print(paste("El valor de 'c' no es igual al valor de 'd', esto es:", c!=d))[1] "El valor de 'c' no es igual al valor de 'd', esto es: TRUE"
# Relación menor que (c<d)
print(paste("El valor de 'c' es menor al valor de 'd', esto es:", c<d))[1] "El valor de 'c' es menor al valor de 'd', esto es: FALSE"
# Relación mayor que (c>d)
print(paste("El valor de 'c' es mayor al valor de 'd', esto es:", c>d))[1] "El valor de 'c' es mayor al valor de 'd', esto es: TRUE"
# Menor o igual a relación (c<=d)
print(paste("El valor de 'c' es menor o igual al valor de 'd', esto es:", c>d))[1] "El valor de 'c' es menor o igual al valor de 'd', esto es: TRUE"
# Mayor o igual a relación (c>=d)
print(paste("El valor de 'c' es mayor o igual al valor de 'd', esto es:", c>d))[1] "El valor de 'c' es mayor o igual al valor de 'd', esto es: TRUE"
Operador de asignación
Para asignar el valor a una variable, utilizamos operadores de asignación. Usando (<-) o (=) asignamos el valor del operando derecho al operando izquierdo.
# Asignar
a <- 12
b = 6Operadores logicos
Estos operadores se utilizan para combinar expresiones condicionales en RStudio.
# Asignamos valores a las varibles 'a' y 'b'.
x <- FALSE
z <- TRUEUsando el símbolo (&) dara como resultado ‘TRUE’ si ambos operado son ‘Verdaderos’ o ‘Falsos’.
# Operador lógico & (y)
print(paste("x y z es:", x & z))[1] "x y z es: FALSE"
Usando el símbolo (|) dara como resultado ‘TRUE’ si alguno de los resultados es ‘Verdadero’ y ‘Falso’.
# Operador lógico | (o)
print(paste("x o z es:", x | z))[1] "x o z es: TRUE"
Usando el símbolo (!) dara como resultado ‘TRUE’ si un operando es ‘Falso’ y ‘FALSE’ si un operando es ‘Verdadero’.
# Operador lógico ! (no)
print(paste("no x es:", !x))[1] "no x es: TRUE"
print(paste("no z es:", !z))[1] "no z es: FALSE"
Tipos de datos númericos integrados en RStudio
Al trabajar con números, necesitamos tipos de datos numéricos. En RStudio, los números son inmutables. En RStudio tenemos tres tipos de datos numéricos.
1. Numeric: Números reales, es decir números decimales.
2. Integer: Números enteros, es decir números negativos y positivos, se puede expresar de la forma aL.
3. Complex: Números complejos, se pueden expresar de la forma a + bi.
## Ejemplo de tipo de datos Numeric
# Asignamos valores a las varibles 'b1' y 'b2'.
b1 <- -12.5
b2 <- 6.0
# Comprobar el tipo de variable b1 y b2
print(paste("El tipo de variable a es:", class(b1)))[1] "El tipo de variable a es: numeric"
print(paste("El tipo de variable a1 es:", class(b2)))[1] "El tipo de variable a1 es: numeric"
## Ejemplo de tipo de datos Integer
# Asignamos valores a las varibles 'a1' y 'a2'.
a1 <- 2L
a2 <- -3L
# Comprobar el tipo de variable a1 y a2
print(paste("El tipo de variable a es:", class(a1)))[1] "El tipo de variable a es: integer"
print(paste("El tipo de variable a1 es:", class(a2)))[1] "El tipo de variable a1 es: integer"
## Ejemplo de tipo de datos Complex
# Asignamos valores a las varibles 'c1'.
c1 = 5 + 8i
# Comprobar el tipo de variable a1 y a2
print(paste("El tipo de variable a es:", class(c1)))[1] "El tipo de variable a es: complex"
Conversión de tipos o conversión de tipos
- En Rstudio, se puede convertir los tipos de integer a numeric o numeric a integer o integer a complex usando los métodos integer(), numeric() y complex().
- Se puede verificar el tipo de cualquier variable usando el método class(). # Cadenas Las cadenas son una secuencia de caracteres encerrados entre comillas simples, dobles.
Se utilizan comillas simples y dobles para escribir una cadena de una sola línea..
## Ejemplo de cadenas
cadena1 = 'Esta es una cadena entre comillas simples'
cadena2 = "Esta es una cadena entre comillas dobles"Accediendo a componentes de cadena
Una cadena en RStudio es un tipo de secuencia, por lo que admite la indexación.
Observación: En RStudio, la indexación comienza desde 1. También admite índices negativos, es decir, -1, -2, etc.; índice -1 significa el último elemento de una cadena, -2 significa el penúltimo carácter de una cadena, y así sucesivamente.
## Asignamos una cadena
lenguaje = "RStudio es una herramienta de programación"
# Imprimir resultados
print(paste("lenguaje[1] es:", lenguaje[1]))[1] "lenguaje[1] es: RStudio es una herramienta de programación"
print(paste("\nlenguaje[-1] es:", lenguaje[-1]))[1] "\nlenguaje[-1] es: "
Operaciones de cadena y métodos integrados.
En RStudio para realizar diversas operaciones con cadenas. Algunos de los métodos de cadena más importantes se detallan a continuación:
## Asignamos una cadena
lenguaje = "RStudio es una herramienta de programación"- toupper(): Devuelve una cadena con mayúsculas.
## Convertir todas las letras minúsculas a mayúsculas.
toupper(lenguaje)[1] "RSTUDIO ES UNA HERRAMIENTA DE PROGRAMACIÓN"
- tolower(): Devuelve una cadena con minúsculas.
## Convertir todas las letras mayúsculas a minúsculas.
tolower(lenguaje)[1] "rstudio es una herramienta de programación"
- chartr(): Se usa cuando tenemos que convertir algunos caracteres en mayúsculas y otros en minúsculas.
## Convertir algunas palabras en mayúsculas.
chartr(lenguaje, old="herramienta", new="Herramienta" )[1] "RStudio es una Herramienta de programación"
- strsplit(): Divide una cadena según un separador y devuelve una lista. El separador predeterminado es el espacio en blanco.
## Dividir la cadena en una lista.
strsplit(lenguaje," ")[[1]]
[1] "RStudio" "es" "una" "herramienta" "de"
[6] "programación"
Vectores o Listas
Una lista o vector es una colección ordenada de elementos. Las listas son mutables, lo que significa que podemos actualizar el elemento de la lista a nivel de índice.
Sin embargo, una lista también es un tipo de secuencia, por lo que admite la indexación (darle un orden). Para crear la lista, necesitamos poner elementos dentro de los corchetes ‘c( )’ separándolos con una coma.
frutas <- c("Mandarina", "Ciruela", "Naranaja")
numeros <- c(1, 2, 3, 4, 5, 6, 7, 8)Acceder a los elementos de la lista
La lista admite la indexación (comenzando desde 1), por lo que, para acceder a los elementos de una lista de RStudio, usaremos el índice de ese elemento. La lista de RStudio también admite la indexación negativa (A partir de -1, el último elemento de la lista de RSTudio).
# Creamos una vector
paises <- c("Perú", "Brasil", "Colombia", "Ecuador")
# Primer y segundo elemento de la vector con indexación positiva:
print(paste("El 1er elemento de la lista es:", paises[1]))[1] "El 1er elemento de la lista es: Perú"
print(paste("El 2do elemento de la lista es:", paises[2]))[1] "El 2do elemento de la lista es: Brasil"
# Ultimo elemento de la vector con indexación negativa:
print(paste("El ultimo elemento de la lista es:", paises[-1]))[1] "El ultimo elemento de la lista es: Brasil"
[2] "El ultimo elemento de la lista es: Colombia"
[3] "El ultimo elemento de la lista es: Ecuador"
Agregar elemento(s) en la vector
Para agregar valor o elemento a un vector de RStudio, tenemos las funciones append().
# Creamos una vector
Lista_inicial <- c(1, 2, 3, 4, "Cinco", 6)
print(Lista_inicial)[1] "1" "2" "3" "4" "Cinco" "6"
# Agregamos un elemento a la vector
append(Lista_inicial, "Nuevo elemento")[1] "1" "2" "3" "4"
[5] "Cinco" "6" "Nuevo elemento"
Concatenación y repetición de vectores
Para concatenar dos vectores en RStudio, podemos usar el ‘c()’ de la siguiente manera:
# Creamos dos vectores
x <- c(1, 2, 3, 4)
print(x)[1] 1 2 3 4
y <- c(5, 6, 7, 8)
print(y)[1] 5 6 7 8
# Concatenamos los dos vectores
z <- c(x, y)
print(z)[1] 1 2 3 4 5 6 7 8
Actualizar el vector de RStudio
Usando la indexación, podemos actualizar el valor indexado especificado en un vector.
# Creamos un vector
numeros <- c(1,2,3,4,5,6)
print(numeros)[1] 1 2 3 4 5 6
# Actualizamos el valor de la posición 1
numeros[1] = 22
print(numeros)[1] 22 2 3 4 5 6
Eliminar un elemento del vector de RStudio
Podemos eliminar elementos de un vector por medio de índices y el signo menos.
paises1 <- c("Perú", "Brasil", "Colombia", "Ecuador")
paises1[-2][1] "Perú" "Colombia" "Ecuador"
Comprobar la pertenencia de un elemento
Al utilizar el operador ‘in’, podemos verificar si algún valor está presente en el vector o no. Si el valor existe en la vector, devolverá “True”.
frutas1 <- c("fresa", "papaya", "pina")
print(paste("Comprobando si la fresa está en la lista :", "fresa" %in% frutas1))[1] "Comprobando si la fresa está en la lista : TRUE"
print(paste("Comprobando si el platano está en la lista","platano" %in% frutas1))[1] "Comprobando si el platano está en la lista FALSE"
Ordenar los elementos de un vector
Para ordenar un vector, puedes llamar a la función sort() pasando como argumento el vector. Por defecto, la función ordena de forma ascendente.
z <- c(12, 15, 3, 22)
sort(z)[1] 3 12 15 22
También puedes ordenar los datos en orden decreciente estableciendo el argumento decreasing como TRUE:
sort(z, decreasing = TRUE)[1] 22 15 12 3
Longitud de un vector y recuento de un elemento en un vector
Puedes obtener la longitud de determinado vector con la función length(). La longitud de un vector es el número de componentes o la cantidad de datos dentro del mismo.
mis_datos <- c("casa", "sillas", "mesas", "refrigerador")
length(mis_datos)[1] 4
La función which() devuelve un vector con el índice (o los índices) del elemento que coincide con el vector lógico (en este caso ==).
x <- c(5,6,8,9,7,5,7,8)
which(x == 6)[1] 2
Corte de un vector
La división de un vector es una forma práctica de obtener el subconjunto de un vector o una porción de un vector y se basa en la indexación.
## Creamos un vector
lista_6 <- c("P","Y","T","H","O","N")
print(lista_6)[1] "P" "Y" "T" "H" "O" "N"
# Proporciona un segmento del vector desde el primer índice hasta el cuarto índice
lista_6[1:4][1] "P" "Y" "T" "H"
# si no se mencionan ni el índice inicial ni el final, devuelve el vector completo
lista_6[][1] "P" "Y" "T" "H" "O" "N"
Tambien podemos dividir un vector con la función seq(), donde se indica el índice inicial, índice final y el salto.
# Proporciona un segmento del vector, desde el segundo índice hasta el último índice, saltando de dos en dos
lista_6[seq(2, 6, 2)][1] "Y" "H" "N"