Está en la página 1de 4

# 25/01/2022

# ciclo repl: read eval print loop


# tiene 4 secciones principales
# 1. editor
# 2. consola
# 3. entorno
# 4. gráficas, ayuda, archivos

"hola mundo"
x = 3.4
y = 4.3
x*y
plot(runif(100))
# recomendaciones: no usar acentos, no usar espacios ####
# no usar mayúsculas
# usar nombres nemotécnicos ej: demanda_prod1

# operador de asignación: <-


demanda <- 100
# asignar valores a 5 nombres de variables
el_comandante = 7 # el mejor del mundo
programcion2 <- 3 # 3 creditos
arriendo_feb <- 280 # arriendo del mes
maquinas_subli <- 1200000 # precio de la máquina
gasolina_moto <- 18.000 # 3 semanas

# ejecutar código: control + enter


#clase ====

al <- 56
b <- 12.3
c <- b + 1
b1 <- 6L # valor entero
b2 <- 6 # valor real
b3 <- "setenta y seis" # cadena de texto
b4 <- 5+7i # complejos
b5 <- TRUE
b6 <- FALSE

class(b3)
class(b5)

# vectores
# es un arreglo unidmensional de objetos de la misma clase

vector1 <- c(3,8,6,3.4,pi)


v_logico <- c(T,F,F,F,T)
v_char <- c("programación","orientada a","objetos")
suc1
vec1 <- vector(mode = "numeric", length = 50)
vec2 <- vector(mode = "logical", 10)
vec3 <- rep("hola", 10)
vec4 <- c(F, T, 2, 3, "a") #coerción

x <- runif(n = 10000, min = 3,max = 15)


hist(x)
y <- runif (max = 6, min = 2, n = 10)
y <- rnorm(n = 10000, mean = 2, sd = 0.4)
hist(y)

#ejercicio: construir los primeros 100 elementos,


# en un vector de la sucesión de fibonacci

# dependiendo del tipo de objeto, podemos hacer operaciones


# si son daros numéricos podemos hacer rodas las operaciones
# matemáticas básicas y mucho más
# suma, resta, mult, div, modulo, potencia, logaritmo,
# trifonométricas, cualquier función de cáñculo

x <- pi
y <- exp (1)
z <- 2/7 # asignación alt + -

x + y - z
x * (y / z)
# jerarquía de las operaciones básicas
# (): paréntesis
# ^: potencia
# /: división
# *: multiplicación
# +-: suma y resta

x*y/z
x/y*z
x/(y*z)
12+4 /8
2/2*2
(8+4^2) / 8*2

# siempre es mejor tener paréntesis de más que de menos

# algunas funciones matemáticas:


abs (-23)
sin (pi/2)
tan (2)
?sin
acos(0.4)
asin(-0.5)
tanpi(1)
# ejercicio: calcule sen^2(x) + cos^2(x) para algún sec (120°)
sin^2 (2) + cos^2 (3)
sin2^2
e^32
exp^32
exp(32)
exp(10)
sen(2)
sin(5)^32
5^32
factorial(32)
fctorial(323)
Inf/0
Inf / Inf # NaN: Not a number
log(exp(1))
log(27)
log(x=27, base= exp(1))
log(27,base=3)
# operadores relacionales: <, >, >=, ==, !=
3<4
4>5
6==7
8==8
7!=6

# operadores lógicos
# !: negación, &: "y", |: "o"
x <- c(F,F,T,T)
y <- c(F,T,F,T)
!x
x&y
x|y
tan(x)
x + y
# las operaciones sobre vectores se hacen término a término
x <- c(2, 3, 7.9, F)
x + y
x + z
# acceder a los elemenots de un vector
z
z [1]
z [20]
z [10:15]
z [-2]
z[c(7,20,31)]
z [ext]
# un vector de calores loficos puede usarse para extraer elementos de otros
# vectores
z <- seq(3,6,by=0.7)
< <- rep(1,5)
v1 <- c(T,F,F,T,T)
z
z[v1]
z3 <- runif(n = 20, min = -1, max = 1)
z3 > 0
# extraer los elementos de z3 mayores a cero.
z4 <- z3[z3>0]

z5 <- z3[z3>-0.3 & z3<0.5]


# genere un vector numérico de números aleatorios entre 55 y 130 (100)
# y guardar en z6 los valores menores a 78 y mayores a 115

x <- runif(n = 100, min = 55, max = 130)


z6 <- x[x<78 | x<115]
7%%2
trunc(5.87)
# genere un vector de números aleatorios entre 55 y 130 (100)
# guarde en z7 los valores cuya parte entera es par.
Z <- runif(n = 100, min = 55, max = 130)
z7 <- trunc(Z)%%2==0
z8 <-Z[trunc(Z)%%2==0]
3.4(x)
factorial(3.4)
gamma(3.4)
n1 <- c("Jaime","Luis","Muñoz")
n2 <- paste("Jaime", "Luis", "Muñoz")

# matrices: arreglo rectangular de datos del mismo tipo


x1 <- 4:39
x2 <- seq(2,3, length = 36)
# hay varias formas de construir matrices
m1 <- matrix(data = x1, nrow = 6)
m2 <- matrix(data = x1, nrow = 6, byrow = T)
m3 <- matrix(x1, nrow = 3, dimnames = list(c("fila1","fila2","fila3")))
# crear una matriz cuadrada que contenga el logaritmo base 10 de los
# números del 11 al 35
z1 <- 11:35
z2 <- matrix(data = z1, nrow = 5)
# se pueden crear matrices combinando vectores
x1
x2
m5 <- cbind(x1,x2)
m6 <- rbind(x1,x2)
# las matrices tienen atributos
dim(m6)
rownames(m3)
colnames(m3) # colocar nombres de forma eficiente
# extraer elementos de una matriz
m3[2,4]
m3[,3]
m3[2,]

# Listas
# una lista es un arreglo que permite almacenar datos de diferentes tipo

lista1 <- list(T, c(1,2,3), matrix(data = c("a","b","c","d"), nrow = 2),


list(1,T,"2", c(8,4,5)))
# para acceder o extraer a los elementos de una lista , se usan doble
# corchetes [[]]
lista1[[3]]
lista1[[3]][1,2]
lista1[[2]][3]
lista1[[3]][5]
lista1[[2]][5]
lista1[[4]][5]
lista1[[4]][[4]][3]

También podría gustarte