Ejercicio 1

car_data<-read_excel("C:\\Users\\divis\\Downloads\\datosRendimientos.xlsx", na="")
dim(car_data)
## [1] 356  14
### 2
which(is.na(car_data[,14]))
## [1]  68 182
length(which(is.na(car_data[,3])))
## [1] 9
loc_nac<-rep(NA, 14)

for (i in 1:14){
loc_nac[i]<-length(which(is.na(car_data[,i])))
}

loc_nac
##  [1]  0  0  9  2  2  2  2  2  2  2  2 10  2  2
### 3
str(car_data)
## tibble [356 x 14] (S3: tbl_df/tbl/data.frame)
##  $ No                              : num [1:356] 1 2 3 4 5 6 7 8 9 10 ...
##  $ Marca                           : chr [1:356] "Acura" "Acura" "Acura" "Acura" ...
##  $ MAKE MODEL                      : chr [1:356] "ILX" "RLX" "RLX HYBRID" "TLX" ...
##  $ CLASS                           : chr [1:356] "C" "M" "M" "C" ...
##  $ ENGINE SIZE (L)                 : num [1:356] 2.4 3.5 3.5 2.4 3.5 1.8 5.9 6 6 4.7 ...
##  $ CYLINDERS                       : num [1:356] 4 6 6 4 6 4 12 12 12 8 ...
##  $ TRANSMISSION                    : chr [1:356] "AM8" "AS6" "AM7" "AM8" ...
##  $ FUEL TYPE                       : chr [1:356] "Z" "Z" "Z" "Z" ...
##  $ CONSUMPTION  CITY (L/100 KM)    : num [1:356] 9.3 11.9 8 9.6 11.2 9.7 18 16.8 17.6 17.4 ...
##  $ CONSUMPTION  HIGHWAY (L/100 KM) : num [1:356] 6.6 7.7 7.5 6.6 7.5 6.9 12.6 10.9 11.4 11.3 ...
##  $ CONSUMPTION  COMBINED (L/100 KM): num [1:356] 8.1 10 7.7 8.3 9.6 8.4 15.6 14.2 14.8 14.7 ...
##  $ $ PER YEAR                      : num [1:356] 2009 2480 1910 2058 2381 ...
##  $ CO2 EMISSIONS (g/km)            : num [1:356] 189 235 180 196 226 197 365 332 346 343 ...
##  $ CO2 RATING                      : num [1:356] 7 5 7 7 5 7 2 3 3 3 ...
### 4

car_data_l<-car_data
for (i in c(5,6,9,10,11,12,13,14)) {
  for (k in 1:356) {
    if (is.na(car_data_l[k,i])) {
      car_data_l[k,i]<-0
    }
    else {
      car_data_l[k,i]<-car_data_l[k,i]
    }
  }
}

### 5
anyDuplicated(car_data)
## [1] 0
### 6

plot(car_data$CYLINDERS, car_data$`CONSUMPTION  COMBINED (L/100 KM)` )

hrf<-mean(car_data_l$`CONSUMPTION  COMBINED (L/100 KM)`)-sd(car_data_l$`CONSUMPTION  COMBINED (L/100 KM)`)
which(car_data_l$`CONSUMPTION  COMBINED (L/100 KM)`<=hrf)
##  [1]   3  55  68 102 103 104 144 163 166 167 168 169 170 171 172 173 174 175 176
## [20] 182 198 199 225 234 236 237 238 239 241 242 257 258 259 260 263 264 280 281
## [39] 282 283 317 318 321 322 325 327 329 338 339 340 341 342 343 344 345
length(which(car_data_l$`CONSUMPTION  COMBINED (L/100 KM)`<=hrf))
## [1] 55
dim(car_data_l)
## [1] 356  14
hrcf<-matrix(rep(NA, 55*14), ncol=14)

hrcf<-car_data_l[which(car_data_l$`CONSUMPTION  COMBINED (L/100 KM)`<= hrf),]

which(hrcf$CLASS=="T"| hrcf$CLASS=="I"| hrcf$CLASS=="S"| hrcf$CLASS=="C"| hrcf$CLASS=="M")
##  [1]  1  2  4  5  6  7  8  9 10 11 12 13 14 15 16 19 21 22 23 24 25 26 27 28 29
## [26] 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55
length(which(hrcf$CLASS=="T"| hrcf$CLASS=="I"| hrcf$CLASS=="S"| hrcf$CLASS=="C"| hrcf$CLASS=="M"))
## [1] 50
phr<-matrix(rep(NA,50*14),ncol = 14)

phr<-hrcf[which(hrcf$CLASS=="T"| hrcf$CLASS=="I"| hrcf$CLASS=="S"| hrcf$CLASS=="C"| hrcf$CLASS=="M"),]

ehr<-mean(phr$`CO2 EMISSIONS (g/km)`)-sd(phr$`CO2 EMISSIONS (g/km)`)

which(phr$`CO2 EMISSIONS (g/km)`< ehr)
## [1]  6 19 43 44
length(which(phr$`CO2 EMISSIONS (g/km)`< ehr))
## [1] 4
gshrc<-matrix(rep(NA,4*14), ncol = 14)

gshrc<-phr[which(phr$`CO2 EMISSIONS (g/km)`< ehr),]

which(gshrc$`$ PER YEAR`==min(gshrc$`$ PER YEAR`))
## [1] 1
### aplicando criterios de consumo de combustible combinado ( ya que el ir de Rincón de Romos a Aguascalientes implica tomar carretera. pero tambien conducir en ciudad), tamaño del automovil (ya que es soltera y no necesita demasiado espacio) así como criterios ambientales calculando los autos con menor emision de co2 el mejor auto entre estos tomando el mas económico que cumple con los parámetros sería:

gshrc[1,]
## # A tibble: 1 x 14
##      No Marca `MAKE MODEL`  CLASS `ENGINE SIZE (L)` CYLINDERS TRANSMISSION
##   <dbl> <chr> <chr>         <chr>             <dbl>     <dbl> <chr>       
## 1   144 DODGE FUSION HYBRID M                     2         4 AV          
## # ... with 7 more variables: FUEL TYPE <chr>,
## #   CONSUMPTION  CITY (L/100 KM) <dbl>, CONSUMPTION  HIGHWAY (L/100 KM) <dbl>,
## #   CONSUMPTION  COMBINED (L/100 KM) <dbl>, $ PER YEAR <dbl>,
## #   CO2 EMISSIONS (g/km) <dbl>, CO2 RATING <dbl>
## * se utilizó la media menos una vez la desviación estandar para encontrar los autos mas eficientes en terminos de consumo de combustible y emision de CO2 así como el de costo mínimo una vez que se redujo a solo 4 autos

Ejercicio 2

inc_data<-read_excel("C:\\Users\\divis\\Downloads\\datosAct.xlsx", na=c("", "#N/D"))
dim(inc_data)
## [1] 40  7
str(inc_data)
## tibble [40 x 7] (S3: tbl_df/tbl/data.frame)
##  $ encuestador: chr [1:40] "arturo" "arturo" "arturo" "arturo" ...
##  $ sexo       : chr [1:40] "hombre" "hombre" "hombre" "hombre" ...
##  $ empleo     : chr [1:40] "Enfermeria" "obrero" "mtro" "obrero" ...
##  $ ingreso    : logi [1:40] NA NA NA NA NA NA ...
##  $ edad       : num [1:40] 51 33 47 38 46 47 55 40 57 NA ...
##  $ altura     : num [1:40] 150 156 171 166 192 ...
##  $ peso       : num [1:40] 64 62 76 67 90 80 75 65 83 68 ...
as.character(inc_data$sexo)
##  [1] "hombre"    "hombre"    "hombre"    "hombre"    "hombre"    "mujer"    
##  [7] "mujer"     "mujer"     "hombre"    "mujer"     "Femenino"  "masculino"
## [13] "masculino" "masculino" "mascuino"  "masculino" "Femenino"  "Femenino" 
## [19] "masculino" "Femenino"  "Femenino"  "Masculino" "Masculino" "Masculino"
## [25] "Masculino" "Femenino"  "Femenino"  "Femenino"  "Femenino"  "Femenino" 
## [31] "H"         "H"         "M"         "H"         "H"         "H"        
## [37] "M"         "M"         "M"         "H"
est_sexo<-function(x)
{
  if(x=="H" | x=="hombre"| x=="mascuino" | x=="masculino")
  {
    x<-"Masculino"
  }
  else
  {
    x<- "Femenino"
  }
}

for (i in 1:40) {
  inc_data[i,2]<-est_sexo(inc_data[i,2])
}

inc_data$sexo
##  [1] "Masculino" "Masculino" "Masculino" "Masculino" "Masculino" "Femenino" 
##  [7] "Femenino"  "Femenino"  "Masculino" "Femenino"  "Femenino"  "Masculino"
## [13] "Masculino" "Masculino" "Masculino" "Masculino" "Femenino"  "Femenino" 
## [19] "Masculino" "Femenino"  "Femenino"  "Femenino"  "Femenino"  "Femenino" 
## [25] "Femenino"  "Femenino"  "Femenino"  "Femenino"  "Femenino"  "Femenino" 
## [31] "Masculino" "Masculino" "Femenino"  "Masculino" "Masculino" "Masculino"
## [37] "Femenino"  "Femenino"  "Femenino"  "Masculino"

Ejercicio 3

inc_data$empleo
##  [1] "Enfermeria" "obrero"     "mtro"       "obrero"     "abogado"   
##  [6] "mtro"       "obrero"     "Enfermeria" "politico"   "abogado"   
## [11] "mtro"       "obrero"     "mtro"       "mtro"       "mtro"      
## [16] "abogado"    "obrero"     "abogado"    "Enfermeria" "abogado"   
## [21] "abogado"    "obrero"     "obrero"     "Enfermeria" "obrero"    
## [26] "obrero"     "obrero"     "obrero"     "politico"   "abogado"   
## [31] "obrero"     "mtro"       "Enfermeria" "Enfermeria" "Enfermeria"
## [36] "obrero"     "obrero"     "mtro"       "obrero"     "obrero"
factor(inc_data$empleo)
##  [1] Enfermeria obrero     mtro       obrero     abogado    mtro      
##  [7] obrero     Enfermeria politico   abogado    mtro       obrero    
## [13] mtro       mtro       mtro       abogado    obrero     abogado   
## [19] Enfermeria abogado    abogado    obrero     obrero     Enfermeria
## [25] obrero     obrero     obrero     obrero     politico   abogado   
## [31] obrero     mtro       Enfermeria Enfermeria Enfermeria obrero    
## [37] obrero     mtro       obrero     obrero    
## Levels: abogado Enfermeria mtro obrero politico
est_empleo<-function(x)
{
  if(x=="abogado")
  {
    x<-"Lic_derecho"
  }
  else
  {
    if(x=="Eduacion" |x== "maestro"| x=="profesor" | x=="mtro")
    {
      x<-"Educacion"
    }
    else
    {
      if(x=="obrero" | x=="oBRERO")
      {
        x<-"obrero"
      }
      else
      {
        if(x=="Enfermeria")
        {
          x<-"Enfermeria"
        }
        else
        {
           x<-"Pres_mpal" 
        }
      }
    }
    
  }
}

for (i in 1:40) {
  inc_data[i,3]<-est_empleo(inc_data[i,3])
}

inco_est<-data.frame(c("Pres_mpal","Ciencias_bio","Arq y  diseño", "Ingienerías",
             "Lic_derecho", "Humanidades","Artes","Educacion","Enfermeria", "obrero"),
           c(85000, 13812,13549,12283,12500,10365,9768,9540,8500,5941))
tolower(inco_est[,1])
##  [1] "pres_mpal"     "ciencias_bio"  "arq y  diseño" "ingienerías"  
##  [5] "lic_derecho"   "humanidades"   "artes"         "educacion"    
##  [9] "enfermeria"    "obrero"
tolower(inc_data$empleo)
##  [1] "enfermeria"  "obrero"      "educacion"   "obrero"      "lic_derecho"
##  [6] "educacion"   "obrero"      "enfermeria"  "pres_mpal"   "lic_derecho"
## [11] "educacion"   "obrero"      "educacion"   "educacion"   "educacion"  
## [16] "lic_derecho" "obrero"      "lic_derecho" "enfermeria"  "lic_derecho"
## [21] "lic_derecho" "obrero"      "obrero"      "enfermeria"  "obrero"     
## [26] "obrero"      "obrero"      "obrero"      "pres_mpal"   "lic_derecho"
## [31] "obrero"      "educacion"   "enfermeria"  "enfermeria"  "enfermeria" 
## [36] "obrero"      "obrero"      "educacion"   "obrero"      "obrero"
colnames(inco_est)<-c("Area", "Ing_prom")

ingreso<-rep(NA, 40)
cbind(inc_data, ingreso)
##    encuestador      sexo      empleo ingreso edad altura peso ingreso
## 1       arturo Masculino  Enfermeria      NA   51  150.5 64.0      NA
## 2       arturo Masculino      obrero      NA   33  155.7 62.0      NA
## 3       arturo Masculino   Educacion      NA   47  170.8 76.0      NA
## 4       arturo Masculino      obrero      NA   38  166.0 67.0      NA
## 5       arturo Masculino Lic_derecho      NA   46  192.5 90.0      NA
## 6       arturo  Femenino   Educacion      NA   47  171.7 80.0      NA
## 7       arturo  Femenino      obrero      NA   55  164.8 75.0      NA
## 8       arturo  Femenino  Enfermeria      NA   40  173.0 65.0      NA
## 9       arturo Masculino   Pres_mpal      NA   57  179.8 83.0      NA
## 10      arturo  Femenino Lic_derecho      NA   NA  166.3 68.0      NA
## 11     jessica  Femenino   Educacion      NA   56  168.5 62.0      NA
## 12     jessica Masculino      obrero      NA   47  175.0 79.0      NA
## 13     jessica Masculino   Educacion      NA   36  155.8 65.0      NA
## 14     jessica Masculino   Educacion      NA   51  188.0 88.0      NA
## 15     jessica Masculino   Educacion      NA   41  188.3 74.0      NA
## 16     jessica Masculino Lic_derecho      NA   26  160.0 63.0      NA
## 17     jessica  Femenino      obrero      NA   52  179.4 86.0      NA
## 18     jessica  Femenino Lic_derecho      NA   55  176.4 81.0      NA
## 19     jessica Masculino  Enfermeria      NA   42  180.2 88.0      NA
## 20     jessica  Femenino Lic_derecho      NA   40  188.3 95.0      NA
## 21        susy  Femenino Lic_derecho      NA   52  165.2 68.0      NA
## 22        susy  Femenino      obrero      NA   62  166.0 76.0      NA
## 23        susy  Femenino      obrero      NA   49  166.0 70.0      NA
## 24        susy  Femenino  Enfermeria      NA   49  168.4 63.0      NA
## 25        susy  Femenino      obrero      NA   58  186.3 83.0      NA
## 26        susy  Femenino      obrero      NA   64  176.3 70.0      NA
## 27        susy  Femenino      obrero      NA   49  184.3 75.0      NA
## 28        susy  Femenino      obrero      NA   39  173.6 80.0      NA
## 29        susy  Femenino   Pres_mpal      NA   70  166.0 66.0      NA
## 30        susy  Femenino Lic_derecho      NA   44  181.3 76.0      NA
## 31       pedro Masculino      obrero      NA   47  160.4 68.0      NA
## 32       pedro Masculino   Educacion      NA   40  183.3 76.0      NA
## 33       pedro  Femenino  Enfermeria      NA   34  164.5   NA      NA
## 34       pedro Masculino  Enfermeria      NA   44  178.4 78.0      NA
## 35       pedro Masculino  Enfermeria      NA   49  191.7 80.0      NA
## 36       pedro Masculino      obrero      NA   33  168.0 73.0      NA
## 37       pedro  Femenino      obrero      NA   45  155.9 54.3      NA
## 38       pedro  Femenino   Educacion      NA   49  188.0   NA      NA
## 39       pedro  Femenino      obrero      NA   46  186.0 88.0      NA
## 40       pedro Masculino      obrero      NA   80  178.6 83.0      NA
minc<-merge(inc_data, inco_est, by.x = "empleo", by.y = "Area")

minc[1,3]=="Femenino"
## [1] FALSE
for (i in 1:40){
  if (minc[i,3]=="Femenino"& minc[i,1]=="obrero"){
    minc$Ing_prom[i]<-minc$Ing_prom[i]*.9
  }
  else {
    minc$Ing_prom[i]<-minc$Ing_prom[i]
  }
}

minc
##         empleo encuestador      sexo ingreso edad altura peso Ing_prom
## 1    Educacion      arturo Masculino      NA   47  170.8 76.0   9540.0
## 2    Educacion     jessica Masculino      NA   41  188.3 74.0   9540.0
## 3    Educacion       pedro  Femenino      NA   49  188.0   NA   9540.0
## 4    Educacion      arturo  Femenino      NA   47  171.7 80.0   9540.0
## 5    Educacion       pedro Masculino      NA   40  183.3 76.0   9540.0
## 6    Educacion     jessica  Femenino      NA   56  168.5 62.0   9540.0
## 7    Educacion     jessica Masculino      NA   36  155.8 65.0   9540.0
## 8    Educacion     jessica Masculino      NA   51  188.0 88.0   9540.0
## 9   Enfermeria      arturo Masculino      NA   51  150.5 64.0   8500.0
## 10  Enfermeria     jessica Masculino      NA   42  180.2 88.0   8500.0
## 11  Enfermeria       pedro  Femenino      NA   34  164.5   NA   8500.0
## 12  Enfermeria      arturo  Femenino      NA   40  173.0 65.0   8500.0
## 13  Enfermeria       pedro Masculino      NA   49  191.7 80.0   8500.0
## 14  Enfermeria        susy  Femenino      NA   49  168.4 63.0   8500.0
## 15  Enfermeria       pedro Masculino      NA   44  178.4 78.0   8500.0
## 16 Lic_derecho      arturo Masculino      NA   46  192.5 90.0  12500.0
## 17 Lic_derecho     jessica  Femenino      NA   40  188.3 95.0  12500.0
## 18 Lic_derecho        susy  Femenino      NA   44  181.3 76.0  12500.0
## 19 Lic_derecho     jessica  Femenino      NA   55  176.4 81.0  12500.0
## 20 Lic_derecho     jessica Masculino      NA   26  160.0 63.0  12500.0
## 21 Lic_derecho        susy  Femenino      NA   52  165.2 68.0  12500.0
## 22 Lic_derecho      arturo  Femenino      NA   NA  166.3 68.0  12500.0
## 23      obrero      arturo Masculino      NA   33  155.7 62.0   5941.0
## 24      obrero      arturo Masculino      NA   38  166.0 67.0   5941.0
## 25      obrero        susy  Femenino      NA   49  166.0 70.0   5346.9
## 26      obrero        susy  Femenino      NA   39  173.6 80.0   5346.9
## 27      obrero     jessica Masculino      NA   47  175.0 79.0   5941.0
## 28      obrero       pedro Masculino      NA   47  160.4 68.0   5941.0
## 29      obrero        susy  Femenino      NA   49  184.3 75.0   5346.9
## 30      obrero       pedro Masculino      NA   33  168.0 73.0   5941.0
## 31      obrero      arturo  Femenino      NA   55  164.8 75.0   5346.9
## 32      obrero        susy  Femenino      NA   64  176.3 70.0   5346.9
## 33      obrero        susy  Femenino      NA   62  166.0 76.0   5346.9
## 34      obrero       pedro Masculino      NA   80  178.6 83.0   5941.0
## 35      obrero       pedro  Femenino      NA   45  155.9 54.3   5346.9
## 36      obrero     jessica  Femenino      NA   52  179.4 86.0   5346.9
## 37      obrero       pedro  Femenino      NA   46  186.0 88.0   5346.9
## 38      obrero        susy  Femenino      NA   58  186.3 83.0   5346.9
## 39   Pres_mpal        susy  Femenino      NA   70  166.0 66.0  85000.0
## 40   Pres_mpal      arturo Masculino      NA   57  179.8 83.0  85000.0
## * El salario mensual del obrero es un estimado de https://mx.indeed.com/career/obrero/salaries

Ejercicio 4

modelo<-lm(inc_data$peso~inc_data$altura, inc_data, na.action = na.exclude)
modelo
## 
## Call:
## lm(formula = inc_data$peso ~ inc_data$altura, data = inc_data, 
##     na.action = na.exclude)
## 
## Coefficients:
##     (Intercept)  inc_data$altura  
##        -44.6933           0.6888
estimate<-function(x){
  -44.6933+(0.6888*x)
}

for (i in 1:40){
  if (is.na(inc_data$peso[i])){
    inc_data$peso[i]<-estimate(inc_data$altura[i])
  }
}
inc_data$peso
##  [1] 64.0000 62.0000 76.0000 67.0000 90.0000 80.0000 75.0000 65.0000 83.0000
## [10] 68.0000 62.0000 79.0000 65.0000 88.0000 74.0000 63.0000 86.0000 81.0000
## [19] 88.0000 95.0000 68.0000 76.0000 70.0000 63.0000 83.0000 70.0000 75.0000
## [28] 80.0000 66.0000 76.0000 68.0000 76.0000 68.6143 78.0000 80.0000 73.0000
## [37] 54.3000 84.8011 88.0000 83.0000

Ejercicio 5

n<-seq(1:5)
x<-seq(0:6)
prob<-.5
y<-x+1

pbinom(x,n,prob)
## [1] 1 1 1 1 1 1 1
pbinom(y,n,prob)
## [1] 1 1 1 1 1 1 1