#Sesión 1 #R Script (CUADRANTE 1): Lo más importante es que aquí se escriben los códigos, se ejecutan con botón “Run”, el # es para comentarios los cuales no se ejecutan y el R Script se guarda.
#Consola (CUADRANTE 3): Escribir códigos, enter para ejecutar, en tiempo real (no se guarda), lo más importante es que se observan los resultados
#Objetos (CUADRANTE 2): Visualizar variables / tablas guardadas
#Gráficos(CUADRANTE 4): Para visualizar gráficas
#Asignar una variable
x <- 3
y <- 2
#Imprimir el resultado
x
## [1] 3
y
## [1] 2
#Operaciones básicas
suma <- x + y
suma
## [1] 5
#Resta -, Multiplicación *, División /
division_tradicional <- x/y
division_tradicional
## [1] 1.5
division_entera <- x %/% y
division_entera
## [1] 1
redondear_arriba <- ceiling(x/y)
redondear_arriba
## [1] 2
redondear_abajo <- floor(x/y)
redondear_abajo
## [1] 1
residuo <- x %% y
residuo
## [1] 1
potencia <- x ^ 2
potencia
## [1] 9
raiz <- x ^ (1/2)
raiz
## [1] 1.732051
exponencial <- exp(1)
exponencial
## [1] 2.718282
absoluto <- abs (x)
absoluto
## [1] 3
signo <- sign(x)
signo
## [1] 1
#Constantes
pi
## [1] 3.141593
radio <- 10
area_circulo <- pi * radio ^ 2
area_circulo
## [1] 314.1593
#Vectores (columnas de datos)
#con comas se separan los valores que van en cada columna
a <- c(1,2,3,4,5)
a
## [1] 1 2 3 4 5
# 2 puntos significa números enteros consecutivos, en este caso es desde el 1 hasta el 100 y ya no tienes que estar separando todo con comas.
b <- c(1:100)
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
#esto debajo es para que se vaya de 0.5 en 0.5
c <- seq(1,100, by = 0.5)
c
## [1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5
## [13] 7.0 7.5 8.0 8.5 9.0 9.5 10.0 10.5 11.0 11.5 12.0 12.5
## [25] 13.0 13.5 14.0 14.5 15.0 15.5 16.0 16.5 17.0 17.5 18.0 18.5
## [37] 19.0 19.5 20.0 20.5 21.0 21.5 22.0 22.5 23.0 23.5 24.0 24.5
## [49] 25.0 25.5 26.0 26.5 27.0 27.5 28.0 28.5 29.0 29.5 30.0 30.5
## [61] 31.0 31.5 32.0 32.5 33.0 33.5 34.0 34.5 35.0 35.5 36.0 36.5
## [73] 37.0 37.5 38.0 38.5 39.0 39.5 40.0 40.5 41.0 41.5 42.0 42.5
## [85] 43.0 43.5 44.0 44.5 45.0 45.5 46.0 46.5 47.0 47.5 48.0 48.5
## [97] 49.0 49.5 50.0 50.5 51.0 51.5 52.0 52.5 53.0 53.5 54.0 54.5
## [109] 55.0 55.5 56.0 56.5 57.0 57.5 58.0 58.5 59.0 59.5 60.0 60.5
## [121] 61.0 61.5 62.0 62.5 63.0 63.5 64.0 64.5 65.0 65.5 66.0 66.5
## [133] 67.0 67.5 68.0 68.5 69.0 69.5 70.0 70.5 71.0 71.5 72.0 72.5
## [145] 73.0 73.5 74.0 74.5 75.0 75.5 76.0 76.5 77.0 77.5 78.0 78.5
## [157] 79.0 79.5 80.0 80.5 81.0 81.5 82.0 82.5 83.0 83.5 84.0 84.5
## [169] 85.0 85.5 86.0 86.5 87.0 87.5 88.0 88.5 89.0 89.5 90.0 90.5
## [181] 91.0 91.5 92.0 92.5 93.0 93.5 94.0 94.5 95.0 95.5 96.0 96.5
## [193] 97.0 97.5 98.0 98.5 99.0 99.5 100.0
#para una columna que quieres que tenga 40 veces el cero:
d <- rep(0, times =40)
d
## [1] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [39] 0 0
#si en vez de números quieres palabras:
nombres <- c("Raúl", "Juan", "Ana", "Diego", "Ricardo")
nombres
## [1] "Raúl" "Juan" "Ana" "Diego" "Ricardo"
edad <- c(20,25,10, 20, 30)
edad
## [1] 20 25 10 20 30
tabla <- data.frame(nombres,edad)
tabla
## nombres edad
## 1 Raúl 20
## 2 Juan 25
## 3 Ana 10
## 4 Diego 20
## 5 Ricardo 30
#para analizar tablas:
summary(tabla)
## nombres edad
## Length:5 Min. :10
## Class :character 1st Qu.:20
## Mode :character Median :20
## Mean :21
## 3rd Qu.:25
## Max. :30
#estructura de la tabla
str(tabla)
## 'data.frame': 5 obs. of 2 variables:
## $ nombres: chr "Raúl" "Juan" "Ana" "Diego" ...
## $ edad : num 20 25 10 20 30
#si quieres llamar una de las columnas de la tabla:
tabla$edad
## [1] 20 25 10 20 30
#para agregar una columna que tenga la edad en meses:
tabla$meses <- tabla$edad * 12
tabla
## nombres edad meses
## 1 Raúl 20 240
## 2 Juan 25 300
## 3 Ana 10 120
## 4 Diego 20 240
## 5 Ricardo 30 360
#Ejercicio 1
#Generar una tabla con el nombre de los pacientes, su peso, su IMC y su clasificación
#utilizar ifelse(condición, cierto falso) para el IMC
nombres <- c("Daniela", "Viveka", "Sofía", "Maria")
peso <- c(60, 60, 56, 59)
altura <- c(1.60, 1.64, 1.55, 1.67)
tabla_ejercicio <- data.frame(nombres, peso, altura)
tabla_ejercicio
## nombres peso altura
## 1 Daniela 60 1.60
## 2 Viveka 60 1.64
## 3 Sofía 56 1.55
## 4 Maria 59 1.67
tabla_ejercicio$IMC <- tabla_ejercicio$peso / tabla_ejercicio$altura ^ 2
tabla_ejercicio
## nombres peso altura IMC
## 1 Daniela 60 1.60 23.43750
## 2 Viveka 60 1.64 22.30815
## 3 Sofía 56 1.55 23.30905
## 4 Maria 59 1.67 21.15529
tabla_ejercicio$clasificacion <- ifelse (tabla_ejercicio$IMC < 18.5, "Bajo peso",
ifelse(tabla_ejercicio$IMC <= 24.9, "Normal",
ifelse(tabla_ejercicio$IMC <= 29.9, "Sobrepeso", "Obesidad")))
tabla_ejercicio
## nombres peso altura IMC clasificacion
## 1 Daniela 60 1.60 23.43750 Normal
## 2 Viveka 60 1.64 22.30815 Normal
## 3 Sofía 56 1.55 23.30905 Normal
## 4 Maria 59 1.67 21.15529 Normal
#Continuación de vectores
longitud <- length(a)
longitud
## [1] 5
#poner numeros de mas chico a mas grande
orden_ascendente <- sort(tabla_ejercicio$IMC)
orden_ascendente
## [1] 21.15529 22.30815 23.30905 23.43750
#poner numeros de mas grande a mas chico
orden_descendente <- sort(tabla_ejercicio$IMC, decreasing = TRUE)
orden_descendente
## [1] 23.43750 23.30905 22.30815 21.15529
#Gráficas
plot(altura, peso, main = "Gráfica de Altura y Peso", xlab= "altura", ylab="peso")