Ejercicio No. 1

L1 = c(62,50,46,44,43,41,43,45,41,36,41,42,48,51,60,68,71,61,56,55,66,72,65,70,69,59,56,54,59,67,61)
L2 = c(39,40,37,37,37,40,42,47,43,45,44,45,55,46,41,44,48,49,45,40,38,41,41,39,42,42,47,46,43,43,41)

Tº Media Localidad 1

T_med_L1 <- function(x){
  suma <- sum(x)
  to_datos <- length(x)
  t_med <- suma/to_datos
  return(t_med)
}
T_med_L1(L1)
## [1] 54.90323

Tº Media Localidad 2

T_med_L2 <- function(x){
  suma <- sum(x)
  to_datos <- length(x)
  t_med <- suma/to_datos
  return(t_med)
}
T_med_L2(L2 )
## [1] 42.80645

Tº Día por debajo de la Tº media, localidad 1

Menores <- function(x){
  a <- x<mean(x)
  b <- x[a]
  c <- length(b)
  return(c)
}
Menores(L1)
## [1] 14

Tº Día por debajo de la Tº media, localidad 2

Menores <- function(x){
  a <- x<mean(x)
  b <- x[a]
  c <- length(b)
  return(c)
}
Menores(L2)
## [1] 16

Tº Localidad 1 mayor a Tº localidad 2

x_mayores_y <- function(x,y){
  may <- x>y
  cual <- x[may]
  cuan <- length(cual)
  dias <- which(may)
  print('Cuantos'); print(cuan); print('Cuales'); print(dias)
  
}
  
x_mayores_y(L1,L2)
## [1] "Cuantos"
## [1] 25
## [1] "Cuales"
##  [1]  1  2  3  4  5  6  7 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Máxima diferencia de Tº entre Localidas

mx_dif <- function(x,y){
  dif <- x-y
  mx <- max(dif)
  dia <- dif == mx
  qdia <- which(dia)
  return(qdia)
}

mx_dif(L1, L2)
## [1] 22 24

Diferencia de al menos 3ºF

Dif_3 <- function(x,y){
  dif <- x-y
  Mayor_3 <- dif >=3
  cuales <- which(Mayor_3)
  return(Mayor_3)
}
Dif_3 (L1,L2)
##  [1]  TRUE  TRUE  TRUE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [13] FALSE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE
## [25]  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE

De ºF a ºC, localidad 1

Fa_a_C <- function(x){
  C <- round((x-32)*(5/9))
  return(C)
}
Fa_a_C(L1)
##  [1] 17 10  8  7  6  5  6  7  5  2  5  6  9 11 16 20 22 16 13 13 19 22 18 21 21
## [26] 15 13 12 15 19 16

De ºF a ºC, localidad 2

Fa_a_C <- function(x){
  C <- round((x-32)*(5/9))
  return(C)
}
Fa_a_C(L2)
##  [1]  4  4  3  3  3  4  6  8  6  7  7  7 13  8  5  7  9  9  7  4  3  5  5  4  6
## [26]  6  8  8  6  6  5

Gráfica Tº Localidad 1

library(lattice)
Días <- c(1:31)
F_C <- round((L1-32)*(5/9))
xyplot(F_C ~ Días,type = "b", xlab = "Días Mes x", ylab = "Tº en ºC", main = "Temperatura Localidad 1")

### Gráfica Tº Localidad 2

library(lattice)
Días <- c(1:31)
F_C <- round((L2-32)*(5/9))
xyplot(F_C ~ Días,type = "b", xlab = "Días Mes x", ylab = "Tº en ºC", main = "Temperatura Localidad 2")

Ejercicio No. 2

set.seed(1514)
Datos_1 <- rnorm(50, 5.5, 0.5)
options(digits = 2)


cv.n <- function(x){
  md <- mean(x)
  dev <- sd(x)
  n <- dev/md
  md_min <- mean(x[-min(x)])
  dev_min <- sd(x[-min(x)])
  n_min <- dev_min/md_min
  md_max <- mean(x[-max(x)])
  dev_max <- sd(x[-max(x)])
  n_max <- dev_max/md_max
  md_min_max <- mean(x[-c(min(x), max(x))])
  dev_min_max <- sd(x[-c(min(x), max(x))])
  n_min_max <- dev_min_max/md_min_max
  qn_1 <- quantile(x, 0.025)
  qn_2 <- quantile(x, 0.975)
  md_truncado5<-mean(x[x>qn_1 & x<qn_2])
  dev_truncado5<-sd(x[x>qn_1 & x<qn_2])
  n_truncado5<- dev_truncado5/md_truncado5
  Tabla <- data.frame(
  "Para" = c('n', 'n-min', 'n-max', 'n-min-max', 'n-truncado5'),
  "c.vn" = c(n, n_min, n_max, n_min_max, n_truncado5), 
  "Media simulada" = c(md, md_min, md_max, md_min_max, md_truncado5), 
  "Desviación simulada" = c(dev, dev_min, dev_max, dev_min_max, dev_truncado5))
  print(Tabla)
}

cv.n(Datos_1)
##          Para  c.vn Media.simulada Desviación.simulada
## 1           n 0.096            5.5                0.53
## 2       n-min 0.097            5.5                0.53
## 3       n-max 0.097            5.5                0.54
## 4   n-min-max 0.098            5.5                0.54
## 5 n-truncado5 0.083            5.5                0.46

Ejercicio No. 3

Para h (altura) < 36152 ft \[T = 59 - 0.00356 * h\]

Temperatura <- function(h){
  if (h<=15000 & h>=0){
    Temp = (59-0.00356*h)
    return(Temp)
  }
  else{
    print("Rango exedido")
  } 
}
Temperatura(h=-10)
## [1] "Rango exedido"
Temperatura(h=0)
## [1] 59
Temperatura(h=100)
## [1] 59
Temperatura(h=200)
## [1] 58
Temperatura(h=300)
## [1] 58
Temperatura(h=400)
## [1] 58
Temperatura(h=500)
## [1] 57
Temperatura(h=1000)
## [1] 55
Temperatura(h=1500)
## [1] 54
Temperatura(h=2000)
## [1] 52
Temperatura(h=3000)
## [1] 48
Temperatura(h=4000)
## [1] 45
Temperatura(h=5000)
## [1] 41
Temperatura(h=6000)
## [1] 38
Temperatura(h=10000)
## [1] 23
Temperatura(h=15000)
## [1] 5.6
Temperatura(h=16000)
## [1] "Rango exedido"