##Cuadrantes de R Studio
#R Script: Es para escribir códigos, sse ejecutan con el botón "Run", se utiliza un signo de # para escribir comentarios, los cuales no se ejecutarán, se puede guardar el R Script. 
#Consola: Es para escribir códigos, se utiliza "enter" para ejecutar, es en tiempo real, por lo tanto no se guarda, sirve para observar resultados.
#Environment: Es el apartado de objetos, aqui se va a poder visualizar las variables que están guardadas. Si yo en el script pongo que x=1, en el environment veré la variable que dice x=1.
#Gráficos/Plots: Se pueden vissualizar los gráficos

#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 <- x/y
division
## [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 : son columnas de datos
a <- c(1,2,3,4,5)
a
## [1] 1 2 3 4 5
b <- c(1:100) #Si quieres poner muchas columnas, los dos puntos significa números enteros consecutivos
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(1,100, by = 0.5) #Para irte de .5 en .5, en vez de números enteros.
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
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
nombres <- c("Raúl", "Juan", "Fede", "Ivan", "Pato")
nombres
## [1] "Raúl" "Juan" "Fede" "Ivan" "Pato"
edad <- c(20,25,20,23,20)
edad
## [1] 20 25 20 23 20
tabla <- data.frame(nombres, edad)
tabla
##   nombres edad
## 1    Raúl   20
## 2    Juan   25
## 3    Fede   20
## 4    Ivan   23
## 5    Pato   20
summary(tabla) #Sirve para analizar tabla
##    nombres               edad     
##  Length:5           Min.   :20.0  
##  Class :character   1st Qu.:20.0  
##  Mode  :character   Median :20.0  
##                     Mean   :21.6  
##                     3rd Qu.:23.0  
##                     Max.   :25.0
str(tabla) #Esto te da la estructura de la tabla
## 'data.frame':    5 obs. of  2 variables:
##  $ nombres: chr  "Raúl" "Juan" "Fede" "Ivan" ...
##  $ edad   : num  20 25 20 23 20
tabla$edad #Esto sirve para llamar una columna de una tabla, se necesita primero llamar la tabla, después agregar un signo de dinero, y el nombre de la columna.
## [1] 20 25 20 23 20
tabla$meses <- tabla$edad * 12 #Aquí agregamos una columna que no existe
tabla$meses
## [1] 240 300 240 276 240
tabla
##   nombres edad meses
## 1    Raúl   20   240
## 2    Juan   25   300
## 3    Fede   20   240
## 4    Ivan   23   276
## 5    Pato   20   240
#Ejercicio 1
#Generar una tabla con el nombre de los pacientes, su peso, su IMC y su clasificación.
#ifelse (conndición, cierto, falso)

nombres_pacientes <- c("Daniela", "Viveka", "Jorge", "Lucas")
altura <- c(1.70, 1.72, 1.80, 1.75)
peso <- c(50,70,80,100)

tabla2 <- data.frame(nombres_pacientes, altura, peso)
tabla2
##   nombres_pacientes altura peso
## 1           Daniela   1.70   50
## 2            Viveka   1.72   70
## 3             Jorge   1.80   80
## 4             Lucas   1.75  100
tabla2$IMC <- tabla2$peso/tabla2$altura^2
tabla2
##   nombres_pacientes altura peso      IMC
## 1           Daniela   1.70   50 17.30104
## 2            Viveka   1.72   70 23.66144
## 3             Jorge   1.80   80 24.69136
## 4             Lucas   1.75  100 32.65306
tabla2$clasificacion <- ifelse(tabla2$IMC<18.5,"Bajo de Peso", 
                       ifelse(tabla2$IMC<=24.9,"Saludable de Peso", 
                       ifelse(tabla2$IMC<=29.9,"Sobrepeso","Obesidad")))
tabla2
##   nombres_pacientes altura peso      IMC     clasificacion
## 1           Daniela   1.70   50 17.30104      Bajo de Peso
## 2            Viveka   1.72   70 23.66144 Saludable de Peso
## 3             Jorge   1.80   80 24.69136 Saludable de Peso
## 4             Lucas   1.75  100 32.65306          Obesidad
#Continuación de Vectores
longitud <- length(a)
longitud
## [1] 5
orden_ascedente <- sort(tabla$IMC)
orden_ascedente
## NULL
orden_descendente <- sort(tabla$IMC, decreasing = TRUE)
orden_descendente
## NULL
#Gráficas
plot(altura,peso,main="Gráfica de Altura y Peso", xlab = "altura", ylab = "peso")