R es un lenguaje y entorno estadístico que es utilizado para analizar, procesar y vizualizar datos
# Ver versión
R.version.string
## [1] "R version 4.5.0 (2025-04-11 ucrt)"
# Ver información completa
R.version
## _
## platform x86_64-w64-mingw32
## arch x86_64
## os mingw32
## crt ucrt
## system x86_64, mingw32
## status
## major 4
## minor 5.0
## year 2025
## month 04
## day 11
## svn rev 88135
## language R
## version.string R version 4.5.0 (2025-04-11 ucrt)
## nickname How About a Twenty-Six
# Observar directorio
getwd()
## [1] "C:/Users/MARYORIE/OneDrive/Documentos"
# Suma
9+7
## [1] 16
# Resta
100-30
## [1] 70
# Multiplicación
7*5
## [1] 35
# División
18/4
## [1] 4.5
# Paréntesis modifica el orden
80/(4+11)
## [1] 5.333333
# Potenciación
4^4
## [1] 256
# Potenciación mas usada
4**4
## [1] 256
# Resto o división entera
30%%11
## [1] 8
# Raiz cuadrada
sqrt(225)
## [1] 15
# Valor absoluto
abs(-34)
## [1] 34
# Funciones trigonométricas - sen()
sin(1)
## [1] 0.841471
# Funcion trigonométrica - cos()
cos(0)
## [1] 1
# Logaritmo
log(11)
## [1] 2.397895
# Logaritmo en base 10
log10(100)
## [1] 2
# Especificar la base del logaritmo
log(10, base = 8)
## [1] 1.107309
# Exponencial
exp(1)
## [1] 2.718282
# Número grande
10000000000000
## [1] 1e+13
# Número muy pequeño
0.000000000334
## [1] 3.34e-10
# Forzar notación científica
format(123456, scientific=TRUE)
## [1] "1.23456e+05"
# Suprimir notación científica
options(scipen = 999)
1000000000000
## [1] 1000000000000
# Restaurar
options(scipen = 0)
100000000000
## [1] 1e+11
# Asignación
x<- 20
# Mostrar
x
## [1] 20
# o usar print()
print(x)
## [1] 20
# Metodo alternativo "="
y=30
y
## [1] 30
# Asignación hacia la derecha
40->z
z
## [1] 40
# Mostrar valor al asignar de manera inmediata
(w<-70)
## [1] 70
Son palabras con un significado especial en el lenguaje que no se pueden usar como nombres de variables. Algunas de estas son: if, else, for, while, repeat,in,next,break,TRUE,FALSE,NULL,NA
?reserved
## starting httpd help server ... done
# Listar todo lo que se tiene guardado
ls()
## [1] "w" "x" "y" "z"
# Obtener informacion (estructura) objeto
str(x)
## num 20
# Eliminar objeto especificos
rm(y)
# Eliminar todo
rm(list = ls())
Es una cantidad que se describe completamente por su magnitud (un número real) y su unidad
# Asignar
edad<-20
Secuencia de datos, que tienen un mismo tipo de dato.
# Creacion de un vector
vector<-c(20,21,22,23,25)
vector
## [1] 20 21 22 23 25
# Creacion de un vector de caracteres
colores<-c("rojo","azul","verde")
colores
## [1] "rojo" "azul" "verde"
# Vector a partir de calculos
vector3<-c(74+5,sqrt(25),abs(-23),84/7)
vector3
## [1] 79 5 23 12
# Combinar vectores
v1<-c(1,2,3)
v2<-c(4,5,6)
v3<-c(v1,v2)
v3
## [1] 1 2 3 4 5 6
# Clase de un vector
class(vector)
## [1] "numeric"
class(colores)
## [1] "character"
vector4<-c(40,"Hola",50)
vector4
## [1] "40" "Hola" "50"
class(vector4)
## [1] "character"
# Secuencias de datos (inicio:fin)
1:100
## [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
## [19] 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
## [37] 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
## [55] 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
## [73] 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
## [91] 91 92 93 94 95 96 97 98 99 100
# Secuencia descendente
15:-10
## [1] 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 -1 -2 -3
## [20] -4 -5 -6 -7 -8 -9 -10
# Negativos
-5:5
## [1] -5 -4 -3 -2 -1 0 1 2 3 4 5
# Secuencia con decimales
1.5:5.8
## [1] 1.5 2.5 3.5 4.5 5.5
# Por incremento especifico
seq(from=0,to=10,by=2)
## [1] 0 2 4 6 8 10
seq(from=0, to=10,by=0.2)
## [1] 0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0 2.2 2.4 2.6 2.8
## [16] 3.0 3.2 3.4 3.6 3.8 4.0 4.2 4.4 4.6 4.8 5.0 5.2 5.4 5.6 5.8
## [31] 6.0 6.2 6.4 6.6 6.8 7.0 7.2 7.4 7.6 7.8 8.0 8.2 8.4 8.6 8.8
## [46] 9.0 9.2 9.4 9.6 9.8 10.0
# Por numero de elemento
seq(from=0,to=10,length.out=40)
## [1] 0.0000000 0.2564103 0.5128205 0.7692308 1.0256410 1.2820513
## [7] 1.5384615 1.7948718 2.0512821 2.3076923 2.5641026 2.8205128
## [13] 3.0769231 3.3333333 3.5897436 3.8461538 4.1025641 4.3589744
## [19] 4.6153846 4.8717949 5.1282051 5.3846154 5.6410256 5.8974359
## [25] 6.1538462 6.4102564 6.6666667 6.9230769 7.1794872 7.4358974
## [31] 7.6923077 7.9487179 8.2051282 8.4615385 8.7179487 8.9743590
## [37] 9.2307692 9.4871795 9.7435897 10.0000000
# Generar secuencia de manera descendente
seq(from=10, to=0, by=-0.5)
## [1] 10.0 9.5 9.0 8.5 8.0 7.5 7.0 6.5 6.0 5.5 5.0 4.5 4.0 3.5 3.0
## [16] 2.5 2.0 1.5 1.0 0.5 0.0
# Repetir un valor
rep(20,times=5)
## [1] 20 20 20 20 20
# Repetir un vector completo
rep(c(21,23),each=3)
## [1] 21 21 21 23 23 23
# Combinar times y each
rep(c("Rojo","Azul"), times=3,each=2)
## [1] "Rojo" "Rojo" "Azul" "Azul" "Rojo" "Rojo" "Azul" "Azul" "Rojo" "Rojo"
## [11] "Azul" "Azul"
# Longitud de un vector
length(vector)
## [1] 5
# Extraer un elemento
vector5<-c(13,21,12,16,38,40,26)
# Extraer el elemento de la posicion 1
vector5[1]
## [1] 13
# Extraer el tercer elemento
vector5[3]
## [1] 12
# Extraer secuencia de elementos desde 2 hasta 4
vector5[2:4]
## [1] 21 12 16
# Extraer el 1, 3er y ultimo elemento
vector5[c(1,3,7)]
## [1] 13 12 26
# Extraer en orden inverso
vector5[-5]
## [1] 13 21 12 16 40 26
# Generar matriz
matrix(1:16,nrow = 4)
## [,1] [,2] [,3] [,4]
## [1,] 1 5 9 13
## [2,] 2 6 10 14
## [3,] 3 7 11 15
## [4,] 4 8 12 16
matrix(1:16,nrow = 4,byrow = TRUE)
## [,1] [,2] [,3] [,4]
## [1,] 1 2 3 4
## [2,] 5 6 7 8
## [3,] 9 10 11 12
## [4,] 13 14 15 16
mi_matriz = matrix(1:24,nrow = 6,byrow = TRUE)
mi_matriz
## [,1] [,2] [,3] [,4]
## [1,] 1 2 3 4
## [2,] 5 6 7 8
## [3,] 9 10 11 12
## [4,] 13 14 15 16
## [5,] 17 18 19 20
## [6,] 21 22 23 24
Funciones basicas
# Dimensiones
dim(mi_matriz)
## [1] 6 4
# numero de filas
nrow(mi_matriz)
## [1] 6
# numero de columnas
ncol(mi_matriz)
## [1] 4
# Indexacion
matriz13<-matrix(1:16,nrow = 4,byrow = TRUE)
matriz13
## [,1] [,2] [,3] [,4]
## [1,] 1 2 3 4
## [2,] 5 6 7 8
## [3,] 9 10 11 12
## [4,] 13 14 15 16
# Extraer el 7
matriz13[2,3]
## [1] 7
# Extraer el 16
matriz13[4,4]
## [1] 16
matriz13+10
## [,1] [,2] [,3] [,4]
## [1,] 11 12 13 14
## [2,] 15 16 17 18
## [3,] 19 20 21 22
## [4,] 23 24 25 26
matriz13**2
## [,1] [,2] [,3] [,4]
## [1,] 1 4 9 16
## [2,] 25 36 49 64
## [3,] 81 100 121 144
## [4,] 169 196 225 256
# Multiplicacion matricial
matriz2<-matrix(30:45, nrow = 4)
matriz2
## [,1] [,2] [,3] [,4]
## [1,] 30 34 38 42
## [2,] 31 35 39 43
## [3,] 32 36 40 44
## [4,] 33 37 41 45
matriz13%*%matriz2
## [,1] [,2] [,3] [,4]
## [1,] 320 360 400 440
## [2,] 824 928 1032 1136
## [3,] 1328 1496 1664 1832
## [4,] 1832 2064 2296 2528
data.frame(matrix(1:16,nrow = 4))
## X1 X2 X3 X4
## 1 1 5 9 13
## 2 2 6 10 14
## 3 3 7 11 15
## 4 4 8 12 16
df<-data.frame(nombre=c("Maryorie","Jorge"),edad=c(20,22))
df
## nombre edad
## 1 Maryorie 20
## 2 Jorge 22
# Importar datos desde github
datos<-read.csv2("https://raw.githubusercontent.com/VictorGuevaraP/Multivariado_Analisis/refs/heads/master/Marketing.csv")
head(datos)
## Edad Genero Vivienda Ecivil Ubicacion Salario Hijos Historial
## 1 Media Femenino Alquilada Casado Cerca 66900 2 Medio
## 2 Joven Masculino Alquilada Soltero Cerca 21700 1 <NA>
## 3 Adulta Femenino Alquilada Casado Cerca 39700 0 Medio
## 4 Media Masculino Alquilada Casado Lejos 72200 1 Alto
## 5 Media Femenino Alquilada Casado Cerca 87700 3 <NA>
## 6 Media Masculino Propia Casado Cerca 104100 0 Alto
## Catalogos Monto
## 1 12 769
## 2 18 774
## 3 12 573
## 4 12 2082
## 5 24 2446
## 6 24 2636