1 Función Area

El triángulo rectángulo tiene un ángulo recto (90º), por lo que su altura coincide con uno de sus lados. El área de un triángulo rectángulo es la mitad del producto de los dos lados que forman el ángulo recto (catetos a y b).

Cree una función que calcule el área de un triángulo rectángulo.

## [1] 6

2 Función Convertidor °F a °C

Fahrenheit es una escala de temperatura termodinámica, donde el punto de congelación del agua es a 32 grados Fahrenheit (°F) y el punto de ebullición a 212 ° F ( a una presión atmosférica normal). Esto sitúa los puntos de ebullición y congelación del agua exactamente a 180 grados de diferencia. Por lo tanto, un grado en la escala Fahrenheit es 1/180 del intervalo entre el punto de congelación y el punto de ebullición del agua. El cero absoluto se define como -459,67 °F.

Una diferencia de temperatura de 1 °F es el equivalente de una diferencia de temperatura de 0,556 °C.

Cree una función que permita convertir de grados centígrados a Fahrenheit.

## [1] 33.8

3 Funcion Convertidores Otros

Gramos a libras

El gramo (g) se define como la milésima parte del kilogramo, la unidad básica de masa del Sistema Internacional de Unidades.

La libra (lb) es una unidad de masa usada desde la Antigua Roma y la que hoy en día se utiliza en los países anglosajones (pound). Un gramo equivale a 0,00220462262 libras.

Metros a millas

Metro es la unidad básica de la distancia. La ortografía internacionalmente aceptada de la unidad en Inglés es el Metre, y la ortografía Inglés Americano es el Meter.

Milla es una unidad no-métricas de longitud. En 1592, el Parlamento define la milla terrestre en 8 furlongs o 1609.344 metros.

Grados Centígrados a Fahrenheit

Ver punto 2

Cree una función que permita al usuario:

• Convertir de gramos a libras, de metros a millas y de grados centigrados a Fahrenheit.

• Introducir el valor a convertir.

• Devuelva el valor en función de lo escogido por el usuario.

## [1] 68

4 Funcion de paquetes

Cree una función que tenga como argumento un vector de paquetes y que verifique si los paquetes se encuentren instalados. Si no se encuentran instalados, la función debe de encargarse de instalarlos y posteriormente debe cargar todos los paquetes del vector.

## Loading required package: knitr
## Loading required package: devtools
## Loading required package: dplyr
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
## Loading required package: readr
## Loading required package: tibble
## Loading required package: tidyr
## Loading required package: purrr
## $knitr
## [1] TRUE
## 
## $devtools
## [1] TRUE
## 
## $dplyr
## [1] TRUE
## 
## $readr
## [1] TRUE
## 
## $tibble
## [1] TRUE
## 
## $tidyr
## [1] TRUE
## 
## $purrr
## [1] TRUE


5 BigMac

Investigue sobre el índice BigMac y genere lo siguiente:

• Descargue la información del índice de Big Mac del siguiente link:https://raw.githubusercontent.com/TheEconomist/big-mac-data/master/output-data/big-mac-full-index.csv

• A continuación diseñe una función que reciba como argumentos el objeto del dataset creado desde el punto anterior.

• El segundo argumento debe ser un vector con el nombre de dos países a comparar, deseados por el usuario.

##    Nombre Dollar Nombre1 Dollar1      Fecha
## 1   Japan   2.77  Mexico    2.22 2000-04-01
## 2   Japan   2.37  Mexico    2.36 2001-04-01
## 3   Japan   2.02  Mexico    2.36 2002-04-01
## 4   Japan   2.18  Mexico    2.18 2003-04-01
## 5   Japan   2.32  Mexico    2.07 2004-05-01
## 6   Japan   2.34  Mexico    2.58 2005-06-01
## 7   Japan   2.19  Mexico    2.66 2006-01-01
## 8   Japan   2.23  Mexico    2.57 2006-05-01
## 9   Japan   2.30  Mexico    2.66 2007-01-01
## 10  Japan   2.29  Mexico    2.69 2007-06-01
## 11  Japan   2.62  Mexico    3.15 2008-06-01
## 12  Japan   3.46  Mexico    2.39 2009-07-01
## 13  Japan   3.50  Mexico    2.50 2010-01-01
## 14  Japan   3.67  Mexico    2.50 2010-07-01
## 15  Japan   4.08  Mexico    2.74 2011-07-01
## 16  Japan   4.16  Mexico    2.70 2012-01-01
## 17  Japan   4.09  Mexico    2.70 2012-07-01
## 18  Japan   3.51  Mexico    2.90 2013-01-01
## 19  Japan   3.20  Mexico    2.86 2013-07-01
## 20  Japan   2.97  Mexico    2.78 2014-01-01
## 21  Japan   3.64  Mexico    3.25 2014-07-01
## 22  Japan   3.14  Mexico    3.35 2015-01-01
## 23  Japan   2.99  Mexico    3.11 2015-07-01
## 24  Japan   3.12  Mexico    2.81 2016-01-01
## 25  Japan   3.47  Mexico    2.37 2016-07-01
## 26  Japan   3.26  Mexico    2.23 2017-01-01
## 27  Japan   3.36  Mexico    2.75 2017-07-01
## 28  Japan   3.43  Mexico    2.57 2018-01-01
## 29  Japan   3.51  Mexico    2.57 2018-07-01
## 30  Japan   3.60  Mexico    2.54 2019-01-01

• Brinde como resultado un mensaje de texto que indique la comparación del valor del índice de Big Mac para los dos países. Por ejemplo: “El índice de Big Mac para Costa Rica es de 5$ dólares y para Nicaragua es de 2$ dolares.”

## [1] "El índice de Big Mac para Japan es de $3.6 dólares y para Mexico es de $2.54 dolares."

6 Funcion

Para la siguiente función:

split_data <- function(df, train = TRUE,percentage){
length<- nrow(df)
total_row <- length percentage*
split <- 1:total_row
if (train =TRUE){
train_df <- dataframe[split, ]
return(train_df)
} else {
test_df <- df[-split, ]
return(test_df)
}
}

• Indique linea por línea y de manera general cuál es la funcionalidad y propósito de la misma.
• Corrija el(los) error(es) que contiene la función.
• Compile la función corregida y pruebe con un dataset de su escogencia.


split_data <- function(df, train = TRUE,percentage){

- Se guarda en un objeto (split_data) la funcion
- df: Define el dataset
- train: especifica si la funcion devuelve el train set o el test set.
- percentage ahi nos va a guardar el porcentage del dataset que queremos dividir para train/test.
- El train set permite al algoritmo aprender de la data. Si quisieramos solo probar la ejecución de
nuestro modelo, podemos usar el test set para que devuelva la medida de la ejecución.

length <- nrow(df)

-Guardamos en el objeto (length) la cantidad de lineas del dataframe

total_row <- length*percentage

-Multiplicamos el total de lineas por el valor en percentage (0.8 por ejemplo). Nos va a devolver el numero de lineas que debemos seleccionar para el train set. Normalmente se divide el 80% de las lineas para train, y 20% para test.

split <- 1:total_row

- aca seleccionamos desde la linea 1 hasta la linea total_row

if (train =TRUE){

- Si la condición es true, regresa el train set, sino el test set

train_df <- dataframe df[split, ]

- Se corrige el nombre de la funcion dataframe por df declarada en el inicio, y la guarda en un objeto

return(train_df)

- Devuelve el resultado de la funcion

} else {
test_df <- df[-split, ]

- Guarda el resto de los datos en un objeto para ser usados por el test set

return(test_df)

- Devuelve el resultado para la funcion test

}
}

- Fin de la funcion

## [1] 974   5
## [1] 244   5