# comandos básicos
# asignación de variables
x <- 3
y <- 2
# impresión de resultados
x
## [1] 3
y
## [1] 2
# operaciónes aritméticas
suma <- x+y
suma
## [1] 5
resta <- x-y
resta
## [1] 1
multiplicacion <- x*y
multiplicacion
## [1] 6
division <- x/y
division
## [1] 1.5
division_entera <- x%/%y # division entera sin decimales
division_entera
## [1] 1
residuo <- x%%y
residuo
## [1] 1
potencia <- x**2 # tambien con ^
potencia
## [1] 9
# funciones matemáticas
raiz_cuadrada <- sqrt(x)
raiz_cuadrada
## [1] 1.732051
raiz_cubica <- x^(1/3)
raiz_cubica
## [1] 1.44225
exponencial <- exp(1)
exponencial
## [1] 2.718282
absoluto <- abs(x)
absoluto
## [1] 3
signo <- sign(x)
signo
## [1] 1
redondeo_arriba <- ceiling(division)
redondeo_arriba
## [1] 2
redondeo_abajo <- floor(division)
redondeo_abajo
## [1] 1
truncar <- trunc(division)
truncar
## [1] 1
# constantes
pi
## [1] 3.141593
radio <- 5
area_circulo <- pi*radio^2
area_circulo
## [1] 78.53982
# vectores
a <- c(1,2,3,4,5) # juntarlos
a
## [1] 1 2 3 4 5
b <- c(1:100) # secuencia de enteros
b
## [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
c <- seq(2,5, by=0.5) # secuencia específica, no lo quiero entero, lo quiero de .5 a .5.
c
## [1] 2.0 2.5 3.0 3.5 4.0 4.5 5.0
d <- rep(1:2, times = 3) # repetir vector
d
## [1] 1 2 1 2 1 2
e <- rep(1,2, each = 3) # repetir elementos
e
## [1] 1 1 1 1 1 1
f <- c("pera","manzana", "kiwi", "fresa")
f
## [1] "pera" "manzana" "kiwi" "fresa"
longitud <- length(a)
longitud
## [1] 5
promedio <- mean(a)
promedio
## [1] 3
rango <- max(a) - min(a)
rango
## [1] 4
resumen <- summary(a)
resumen
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1 2 3 3 4 5
orden_ascendente <- sort(a)
orden_ascendente
## [1] 1 2 3 4 5
orden_descendente <- sort(a, decreasing=TRUE)
orden_descendente
## [1] 5 4 3 2 1
g <- c(1,2,3,4,5)
suma_vectores <- a+g
suma_vectores
## [1] 2 4 6 8 10
# tipos de datos
# caracter: palabras, van siempre entre comillas.
# numericos: números.
# lógicos: TRUE, FALSE.
# Factores: Nuveles preestablecidos "1", "0".
# para convertir Ej: as.numeric
# graficar
plot(a,g, main= "Ventas por mes", xlab = "mes", ylab="M USD", type = "b")

# operadores relacionales
# igual a==b
# desigual a!=b
# Mayor que a>b
# Menor que a<b
# Mayor o igual que a>=b
# Mayor o igual que a<=b
# condicionales
calificacion <- 71
if (calificacion>=70) {
print("Pasa")
} else {
print("No pasa")
}
## [1] "Pasa"
# Tabla
tabla <- data.frame(a,g)
tabla
## a g
## 1 1 1
## 2 2 2
## 3 3 3
## 4 4 4
## 5 5 5
# ejercicio 1
# registra el nombre, peso, altura de alumnos,
# calcula su IMC y asigna su categoría.
nombre <- c("Marcelo", "Santiago", "Kamilah", "Luis", "Meme")
altura <- c(1.60, 1.85, 1.65, 1.75, 1.96)
peso <- c(60, 80, 60, 80, 597)
df <- data.frame(nombre, altura, peso)
df$IMC <- df$peso/df$altura**2
df$clasificacion <- ifelse(df$IMC<18.5, "Peso Bajo",
ifelse(df$IMC<25, "Normal",
ifelse(df$IMC<30, "Sobrepeso",
ifelse(df$IMC<35, "Obesidad Grado 1",
ifelse(df$IMC<40, "Obesidad Grado 2",
"Obesidad Grado 3")))))
LS0tCnRpdGxlOiAiQ29uY2VwdG9zIELDoXNpY29zIgphdXRob3I6ICJNYXJjZWxvIFNhbGF6YXIgQTAxNzIyMTkyIgpkYXRlOiAiMjAyNi0wOC0xNyIKb3V0cHV0OgogIGh0bWxfZG9jdW1lbnQ6CiAgICB0b2M6IFRSVUUKICAgIHRvY19mbG9hdDogVFJVRQogICAgY29kZV9kb3dubG9hZDogVFJVRQogICAgdGhlbWU6IGNvc21vIAotLS0KYGBge3J9CiMgY29tYW5kb3MgYsOhc2ljb3MgCgojIGFzaWduYWNpw7NuIGRlIHZhcmlhYmxlcwp4IDwtIDMKeSA8LSAyCgojIGltcHJlc2nDs24gZGUgcmVzdWx0YWRvcwp4IAp5CgojIG9wZXJhY2nDs25lcyBhcml0bcOpdGljYXMKc3VtYSA8LSB4K3kKc3VtYQoKcmVzdGEgPC0geC15CnJlc3RhCgptdWx0aXBsaWNhY2lvbiA8LSB4KnkKbXVsdGlwbGljYWNpb24KCmRpdmlzaW9uIDwtIHgveQpkaXZpc2lvbgoKZGl2aXNpb25fZW50ZXJhIDwtIHglLyV5ICMgZGl2aXNpb24gZW50ZXJhIHNpbiBkZWNpbWFsZXMKZGl2aXNpb25fZW50ZXJhCgpyZXNpZHVvIDwtIHglJXkKcmVzaWR1bwoKcG90ZW5jaWEgPC0geCoqMiAjIHRhbWJpZW4gY29uIF4gCnBvdGVuY2lhCgojIGZ1bmNpb25lcyBtYXRlbcOhdGljYXMgCnJhaXpfY3VhZHJhZGEgPC0gc3FydCh4KQpyYWl6X2N1YWRyYWRhCgpyYWl6X2N1YmljYSA8LSB4XigxLzMpCnJhaXpfY3ViaWNhCgpleHBvbmVuY2lhbCA8LSBleHAoMSkKZXhwb25lbmNpYWwgCgphYnNvbHV0byA8LSBhYnMoeCkKYWJzb2x1dG8KCnNpZ25vIDwtIHNpZ24oeCkKc2lnbm8KCnJlZG9uZGVvX2FycmliYSA8LSBjZWlsaW5nKGRpdmlzaW9uKQpyZWRvbmRlb19hcnJpYmEKCnJlZG9uZGVvX2FiYWpvIDwtIGZsb29yKGRpdmlzaW9uKQpyZWRvbmRlb19hYmFqbwoKdHJ1bmNhciA8LSB0cnVuYyhkaXZpc2lvbikKdHJ1bmNhcgoKIyBjb25zdGFudGVzCnBpCnJhZGlvIDwtIDUgCmFyZWFfY2lyY3VsbyA8LSBwaSpyYWRpb14yCmFyZWFfY2lyY3VsbwoKIyB2ZWN0b3JlcwphIDwtIGMoMSwyLDMsNCw1KSAjIGp1bnRhcmxvcwphCgpiIDwtIGMoMToxMDApICMgc2VjdWVuY2lhIGRlIGVudGVyb3MKYgoKYyA8LSBzZXEoMiw1LCBieT0wLjUpICMgc2VjdWVuY2lhIGVzcGVjw61maWNhLCBubyBsbyBxdWllcm8gZW50ZXJvLCBsbyBxdWllcm8gZGUgLjUgYSAuNS4KYwoKZCA8LSByZXAoMToyLCB0aW1lcyA9IDMpICMgcmVwZXRpciB2ZWN0b3IKZAoKZSA8LSByZXAoMSwyLCBlYWNoID0gMykgIyByZXBldGlyIGVsZW1lbnRvcwplCgpmIDwtIGMoInBlcmEiLCJtYW56YW5hIiwgImtpd2kiLCAiZnJlc2EiKQpmCgpsb25naXR1ZCA8LSBsZW5ndGgoYSkKbG9uZ2l0dWQKCnByb21lZGlvIDwtIG1lYW4oYSkKcHJvbWVkaW8KCnJhbmdvIDwtIG1heChhKSAtIG1pbihhKQpyYW5nbwoKcmVzdW1lbiA8LSBzdW1tYXJ5KGEpCnJlc3VtZW4KCm9yZGVuX2FzY2VuZGVudGUgPC0gc29ydChhKQpvcmRlbl9hc2NlbmRlbnRlIAoKb3JkZW5fZGVzY2VuZGVudGUgPC0gc29ydChhLCBkZWNyZWFzaW5nPVRSVUUpCm9yZGVuX2Rlc2NlbmRlbnRlCgpnIDwtIGMoMSwyLDMsNCw1KQoKc3VtYV92ZWN0b3JlcyA8LSBhK2cKc3VtYV92ZWN0b3JlcwoKIyB0aXBvcyBkZSBkYXRvcwojIGNhcmFjdGVyOiBwYWxhYnJhcywgdmFuIHNpZW1wcmUgZW50cmUgY29taWxsYXMuCiMgbnVtZXJpY29zOiBuw7ptZXJvcy4KIyBsw7NnaWNvczogVFJVRSwgRkFMU0UuCiMgRmFjdG9yZXM6IE51dmVsZXMgcHJlZXN0YWJsZWNpZG9zICIxIiwgIjAiLgojIHBhcmEgY29udmVydGlyIEVqOiBhcy5udW1lcmljCgojIGdyYWZpY2FyCnBsb3QoYSxnLCBtYWluPSAiVmVudGFzIHBvciBtZXMiLCB4bGFiID0gIm1lcyIsIHlsYWI9Ik0gVVNEIiwgdHlwZSA9ICJiIikKCiMgb3BlcmFkb3JlcyByZWxhY2lvbmFsZXMKIyBpZ3VhbCBhPT1iCiMgZGVzaWd1YWwgYSE9YgojIE1heW9yIHF1ZSBhPmIKIyBNZW5vciBxdWUgYTxiCiMgTWF5b3IgbyBpZ3VhbCBxdWUgYT49YgojIE1heW9yIG8gaWd1YWwgcXVlIGE8PWIKCiMgY29uZGljaW9uYWxlcwoKY2FsaWZpY2FjaW9uIDwtIDcxCgppZiAoY2FsaWZpY2FjaW9uPj03MCkgewogIHByaW50KCJQYXNhIikgCiAgfSBlbHNlIHsKICAgIHByaW50KCJObyBwYXNhIikKICB9CgojIFRhYmxhCnRhYmxhIDwtIGRhdGEuZnJhbWUoYSxnKQp0YWJsYQoKIyBlamVyY2ljaW8gMQojIHJlZ2lzdHJhIGVsIG5vbWJyZSwgcGVzbywgYWx0dXJhIGRlIGFsdW1ub3MsCiMgY2FsY3VsYSBzdSBJTUMgeSBhc2lnbmEgc3UgY2F0ZWdvcsOtYS4KCm5vbWJyZSA8LSBjKCJNYXJjZWxvIiwgIlNhbnRpYWdvIiwgIkthbWlsYWgiLCAiTHVpcyIsICJNZW1lIikKYWx0dXJhIDwtIGMoMS42MCwgMS44NSwgMS42NSwgMS43NSwgMS45NikKcGVzbyA8LSBjKDYwLCA4MCwgNjAsIDgwLCA1OTcpCmRmIDwtIGRhdGEuZnJhbWUobm9tYnJlLCBhbHR1cmEsIHBlc28pCmRmJElNQyA8LSBkZiRwZXNvL2RmJGFsdHVyYSoqMgpkZiRjbGFzaWZpY2FjaW9uIDwtIGlmZWxzZShkZiRJTUM8MTguNSwgIlBlc28gQmFqbyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShkZiRJTUM8MjUsICJOb3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGRmJElNQzwzMCwgIlNvYnJlcGVzbyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGRmJElNQzwzNSwgIk9iZXNpZGFkIEdyYWRvIDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZGYkSU1DPDQwLCAiT2Jlc2lkYWQgR3JhZG8gMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiT2Jlc2lkYWQgR3JhZG8gMyIpKSkpKQoKYGBgCgo=