<- 10 x
APUNTES R - PLE MELANY MONTERO
Variables y tipos
Una variable es un nombre que hace referencia a un valor, específicamente es el nombre de una ubicación de memoria reservada que contiene algún valor.
Por ejemplo:
x <- 10. Aquí, ‘x’ es el nombre de la variable, la flacha (<-) es un operador de asignación y 10 es el valor o literal.
Entonces, al usar un operador de asignación (=) en R, podemos reservar memoria para el valor sin declararlo explícitamente.
Reglas para definir un nombre de variable
- El nombre de una variable debe comenzar con una letra o un guión bajo (_); no puede comenzar con un número.
- Solo puede contener (AZ, az, 0-9 y _).
- Es importante recordar que en R los nombres de las variables distinguen entre mayúsculas y minúsculas.
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.
#Operadores aritméticos.
Los operadores aritméticos son necesarios para realizar operaciones aritméticas como suma, resta, multiplicación, división, etc. La siguiente tabla es la lista de operadores aritméticos en R:
Operadores relacionales
Los operadores relacionales se utilizan para comprobar la relación entre operandos y comparar los valores. Según la condición, estos operadores devuelven como resultado “Verdadero” o “Falso”:
Ejemplo:
# Declaramos dos variables
<- 20
a <- 28 b
# igual a relación (==)
==b a
[1] FALSE
cat("igual a la relación => (a==b) es:" , a==b)
igual a la relación => (a==b) es: FALSE
# no es igual a la relación (!=)
!=b a
[1] TRUE
cat("no es igual a la relación => (a!=b) es:" , a!=b)
no es igual a la relación => (a!=b) es: TRUE
# relación menor que (<)
cat("relación menor que => (a < b) es:" , a < b)
relación menor que => (a < b) es: TRUE
# relación mayor que (>)
cat("relación mayor que => (a > b) es:" , a > b)
relación mayor que => (a > b) es: FALSE
# menor o igual a relación (<=)
cat("relación menor que => (a <= b) es:" , a <= b)
relación menor que => (a <= b) es: TRUE
# mayor o igual a relación (>=)
cat("relación mayor que => (a >= b) es" , a >= b)
relación mayor que => (a >= b) es FALSE
#Operador de asignación
Para asignar el valor a una variable, utilizamos operadores de asignación. La siguiente es una lista de operadores de asignación en R:
# Asignar (<-)
<- 20
a cat("Asignar(a=20) => " , a)
Asignar(a=20) => 20
<- 25
b cat("Asignar(b=25) =>" , b)
Asignar(b=25) => 25
b
[1] 25
# Suma y asignación (+=) --
<- a + 10
a
cat ("Suma y asignación (a +=10) =>", a)
Suma y asignación (a +=10) => 30
# Restar y asignar (-=)
<- a-10
acat("Restar y asignar (a -=10) =>",a)
Restar y asignar (a -=10) => 20
# Multiplicar y asignar (*=)
<- a*10
a cat("Multiplicar y asignar (a*=10) =>",a)
Multiplicar y asignar (a*=10) => 200
# Dividir y asignar (/=)
<- a/10
acat("Dividir y asignar(a/=10) =>",a)
Dividir y asignar(a/=10) => 20
# Piso-Dividir y Asignar (//=)
<- floor(b/3)
bcat("Piso-Dividir y Asignar(b//=3) =>",b)
Piso-Dividir y Asignar(b//=3) => 8
# Módulo y Asignación (%%=)
<- b %% 3
bcat("Módulo y Asignación(b%%=3) =>",b)
Módulo y Asignación(b%%=3) => 2
# exponente y Asignar (**=)
<- b^3
b
cat("exponente y Asignar(b^=3) =>",b)
exponente y Asignar(b^=3) => 8
#Operadores logicos
Estos operadores se utilizan para combinar expresiones condicionales en R.
La siguiente tabla tiene la información completa sobre los operadores lógicos en R.
# Ejemplo
= F
a= T b
# Operador lógico AND (y)
cat("AND lógico => a y b es:", a & b)
AND lógico => a y b es: FALSE
# Operador lógico OR (o)
cat("OR lógico => a o b es:", a | b)
OR lógico => a o b es: TRUE
# Operador lógico NOT (no)
cat("NO lógico => no b es:", ! b)
NO lógico => no b es: FALSE
Tipos de datos integrados en R
Tipo numérico:
Al trabajar con números, necesitamos tipos de datos numéricos. En R, los números son inmutables. En R 3.x, tenemos tres tipos de datos numéricos.
Int o Integer: Los números enteros son números enteros positivos o negativos; es decir, no tienen punto decimal.
Flotante: Son valores flotantes de tipo numérico o valores reales; a diferencia de los números enteros, el flotante tiene un punto decimal.
Complejo: Los números complejos se pueden expresar en la forma a + bi, aquí, a es la parte real y b es la parte imaginaria [a y b son los números enteros pero i es el número imaginario (raíz cuadrada de -1)].
# Ejemplos
# Ejemplo de tipo de datos int
<- 20 # valor entero positivo
a <- -20 # Valor entero negativo
a1
# imprimiendo el valor
cat("a = ",a)
a = 20
cat("a1 = ",a1)
a1 = -20
# comprobar el tipo de variable a
cat("El tipo de variable a es:", typeof(a))
El tipo de variable a es: double
cat("El tipo de variable a1 es:", typeof(a1))
El tipo de variable a1 es: double
# Ejemplo para tipo de datos flotante
<- 20.5 # valor flotante positivo
b <- -20.5 # Valor flotante negativo
b1
# imprimiendo el valor
cat("b = ",b)
b = 20.5
cat("b1 = ",b1)
b1 = -20.5
# comprobar el tipo de variable a
cat("El tipo de variable b es:", typeof(b))
El tipo de variable b es: double
cat("El tipo de variable b1 es:", typeof(b1))
El tipo de variable b1 es: double
# ejemplo datos complejos
<- 20+5i
a <- 5i
b <- 10-5i
c <- -5i
d
# imprimiendo el valor de un
cat ("a = ", a)
a = 20+5i
# comprobar el tipo de variable a
cat("El tipo de variable c es :", typeof(a))
El tipo de variable c es : complex
cat("El tipo de variable d e :", typeof(b))
El tipo de variable d e : complex
cat("El tipo de variable d es :", typeof(c))
El tipo de variable d es : complex
cat("El tipo de variable d e s:", typeof(d))
El tipo de variable d e s: complex
Conversión de tipos o conversión de tipos
En R, se puede convertir los tipos de int a float o float a int o int a complex usando los métodos integer(), float() y complex().
Se puede verificar el tipo de cualquier variable usando el método type().
Se puede convertir un int o float a String usando str() o cualquier cadena numérica a Int o float usando int() un método float().
Cadenas
Las cadenas son una secuencia de caracteres encerrados entre comillas simples, dobles o triples o comillas dobles triples.
En R, no hay una distinción explícita entre cadenas simples y dobles como en Python. En R, las comillas simples (‘...’) y las comillas dobles (“...”) se utilizan de manera similar para representar cadenas de caracteres.
# Ejemplos de codificación
<- 'Esta es una cadena entre comillas simples'
cadena1 <- "Esta es una cadena entre comillas dobles"
cadena2
#imprimir resultados
cat(cadena1)
Esta es una cadena entre comillas simples
cat(cadena2)
Esta es una cadena entre comillas dobles
Accediendo a componentes de cadena
Una cadena en R studio es un tipo de secuencia, por lo que admite la indexación.
En R studio, la indexación comienza desde 1. Por ejemplo, lenguaje <- “Rstudio”; podemos evaluar el primer elemento de String con substr (Rstudio, 1, 1) => R.
De manera similar, lenguaje [2] => s, lenguaje [3] => t, y así sucesivamente.
R a diferencia de Phyton no admite índices negativos, es decir, -1, -2, etc.
# cadenas
<- "Rstudio"
lenguaje
# Acceder al primer elemento de la cadena (indexación comienza en 1 en R)
<- substr(lenguaje, 1, 1)
primer
# Imprimir resultados
paste("La primera letra es: ", primer)
[1] "La primera letra es: R"
# Acceder al segundo elemento de la cadena
<- substr(lenguaje, 2, 2)
segundo
# Imprimir resultados
paste("La segunda letra es: ", segundo)
[1] "La segunda letra es: s"
Concatenación de cadenas
En R, para concatenar las dos cadenas, usamos la función paste()
. La función paste()
en R es equivalente al operador +
para concatenación de cadenas en Python.
# Definir dos cadenas en R
<- "Hola,"
cadena1 <- "Rstudio!"
cadena2
# Concatenar las dos cadenas usando paste()
<- paste(cadena1, cadena2)
cadena_concatenada
# Imprimir la cadena concatenada
print(cadena_concatenada)
[1] "Hola, Rstudio!"
Operaciones de cadena y métodos integrados.
En Python para realizar diversas operaciones con cadenas. La sintaxis básica es str.String_method(). Algunos de los métodos de cadena más importantes se detallan a continuación:
a. toupper(): Devuelve una cadena con mayúsculas.
b.tolower(): Devuelve una cadena con minúsculas.
c. Poner primera letra en mayúscula (capitalize()
en Python): En R, para poner la primera letra de una cadena en mayúscula, se utiliza la función paste()
junto con toupper()
y substr()
para manipular la cadena.
d. strsplit(): Divide una cadena según un separador y devuelve una lista. El separador predeterminado es el espacio en blanco.
e. trimws(): Elimina los espacios en blanco iniciales y finales de una cadena.
f. sub(): Para eliminar caracteres específicos del lado derecho de una cadena, se puede usar la función sub()
o técnicas de subconjuntos.
g. sub(): para eliminar caracteres específicos del lado izquierdo de una cadena, se puede usar la función sub()
o técnicas de subconjuntos.
h. nchar(): Da la longitud de una cadena.
i. Reemplazar subcadena : Para reemplazar una subcadena en una cadena, se utiliza la función sub()
ii. grep(): busca la primera aparición de una subcadena especificada en una cadena.
j. startsWith(): Este método comprobará y devolverá ‘T’ si una cadena comienza con una subcadena especificada.
k. substring(): este método verificará y devolverá ‘T’ si una cadena termina con una subcadena especificada.
l. grepl(): Este método comprobará y devolverá ‘T’ si todos los caracteres de la cadena son dígitos, decimales, alfabetos, mayusculas, minusculas y tambien si son alfanuméricos.
# Ejemplos
# Convertir todas las letras minúsculas a mayúsculas
<- "Programacion en Lenguaje Estadistico" curso
# Convertir a mayúsculas
<- toupper(curso)
mayusculas cat(mayusculas)
PROGRAMACION EN LENGUAJE ESTADISTICO
# Elimina los espacios en blanco iniciales y finales de una cadena
<- trimws(curso)
ejemplo_2 paste(ejemplo_2)
[1] "Programacion en Lenguaje Estadistico"
# Longitud
<- nchar(curso)
longitud longitud
[1] 36
# Comprobar si está en minúsculas
<- grepl("^[a-z]+$", curso)
es_minusculas cat("¿Está en minúsculas? ", es_minusculas)
¿Está en minúsculas? FALSE
# Comprobar si son decimales
<- grepl("^\\d*\\.?\\d+$", curso)
es_decimales cat("¿Es decimales? ", es_decimales)
¿Es decimales? FALSE
# Cadena de ejemplo
<- "A bC"
cadena
# Comprobar si son letras (mayúsculas o minúsculas)
<- grepl("^[A-Za-z]+$", cadena)
es_letras print(paste("¿Es letras? ", es_letras))
[1] "¿Es letras? FALSE"
# Comprobar si está en minúsculas
<- grepl("^[a-z]+$", curso)
es_minusculas print(paste("¿Está en minúsculas? ", es_minusculas))
[1] "¿Está en minúsculas? FALSE"
# Comprobar si es alfanumérico
<- grepl("^[A-Za-z0-9]+$", curso)
es_alfanumerico print(paste("¿Es alfanumérico? ", es_alfanumerico))
[1] "¿Es alfanumérico? FALSE"