UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE CIENCIAS ECONÓMICAS

INGENIERIA EN ESTADÍSTICA

GRUPO 2

APLICANDO LOS CONOCIMIENTOS DE RSTUDIO

En este documento se presentan los ejercicios resuletos del taller #13 haciendo uso de rmarkdown

AUTORES

COLABORACIÓN

TALLER 13: EJERCICIOS

EJERCICIO 1

suma <- function(x,y){ 
  x+y }

suma(x=2, y=3)
## [1] 5
suma(2,3)
## [1] 5

EJERCICIO 2

potencia <- function(x, y) { 
  result <- x^y 
  paste(x,"elevado a la potencia de", y, "es", result)} 
potencia(2,3)
## [1] "2 elevado a la potencia de 3 es 8"
x <- 2 
cat(x) 
## 2
cat("María")
## María
cat("María tiene", x , "hijos", ".")
## María tiene 2 hijos .
cat("María tiene", x, "hijos", "\b.")
## María tiene 2 hijos .
cat("María tiene\n", x, "hijos", "\b.")
## María tiene
##  2 hijos .

EJERCICIO 3

absoluto <- function(x) {
  if(x<0){ -x }
  else { x }
}
absoluto(-3)
## [1] 3
absoluto(3)
## [1] 3

EJERCICIO 4

ftrozos <- function(x) {
  if (x < 5) {0} 
  else {10}}
ftrozos(3) 
## [1] 0
ftrozos(5)
## [1] 10

EJERCICIO 5

# La Tasa de Metabolismo Basal (TMB), es la cantidad
# mínima de energía que necesita tu cuerpo para funcionar.
# Nunca debemos ingerir menos cantidad de calorías de las 
# que marca la tasa metabólica. La TMB se calcula siguiendo
# las siguientes ecuaciones.

# TMB Mujer = 655 + (9,6 * P) + (1,8 * A) – (4,7 * E)
# TMB Hombre = 66 + (13,7 * P) + (5 * A) – (6,8 * E)
# Donde necesitamos información del
# Sexo, A=Altura, P=Peso y E=Edad de cada persona.

TMB<-function(Sexo,Altura,Peso,Edad){
  if(Sexo=="mujer"){ 655 + (9.6 * Peso) + (1.8 * Altura) - (4.7 * Edad)}
  else{66 + (13.7 * Peso) + (5 * Altura) - (6.8 * Edad) }}
TMB("hombre",170,57,32)
## [1] 1479.3
# En este caso le decimos a la función que calcule el TMB
# con una fórmula si el sujeto es mujer y otra si es hombre.

EJERCICIO 6

# CASO 1
#Único Valor: Si solo queremos obtener el valor de la hipotenusa.
hipotenusa <- function(cateto1, cateto2){ 
  sqrt(cateto1^2+cateto2^2)} 
hipotenusa(2,4)
## [1] 4.472136
# Lista de valores: 
# Si queremos que en el resultado se muestren los valores iniciales y finales.
hipotenusa <- function(cateto1, cateto2){
  h <-sqrt (cateto1^2+cateto2^2)
  list(cateto1=cateto1,cateto2=cateto2,hipotenusa=h)} 
hipotenusa(2,4) 
## $cateto1
## [1] 2
## 
## $cateto2
## [1] 4
## 
## $hipotenusa
## [1] 4.472136
#Con más de un valor para cada cateto: 
# Si queremos que el resultado tenga varios tipos 
# de información (numérica o categórica) podemos utilizar una lista.
hipotenusa(2:4,4:6)
## $cateto1
## [1] 2 3 4
## 
## $cateto2
## [1] 4 5 6
## 
## $hipotenusa
## [1] 4.472136 5.830952 7.211103

-Caso 4

# Resultado como data.frame: 
# Si queremos que el resultado sea de un mismo
# tipo pero con múltiples variables podemos utilizar el data.frame.

hipotenusa<-function(cateto1, cateto2){ 
  h <- sqrt(cateto1^2+cateto2^2)
  data.frame(variable=c("cateto","cateto",
                        "hipotenusa"),valor=c(cateto1,cateto2,h))}
hipotenusa(2,4) 
##     variable    valor
## 1     cateto 2.000000
## 2     cateto 4.000000
## 3 hipotenusa 4.472136
# Otra opción para presentar los resultados.
# hipotenusa<-function(cateto1, cateto2){
  # h <- sqrt(cateto1^2+cateto2^2)
  # data.frame(cateto1=cateto1,cateto2=cateto2,hipotenusa=h)
hipotenusa(2:4,4:6)
##     variable    valor
## 1     cateto 2.000000
## 2     cateto 3.000000
## 3 hipotenusa 4.000000
## 4     cateto 4.000000
## 5     cateto 5.000000
## 6 hipotenusa 6.000000
## 7     cateto 4.472136
## 8     cateto 5.830952
## 9 hipotenusa 7.211103

EJERCICIO 7

# Obtiene el resultado de un paso en particular en la ejecución, 
# no necesariamente el último.

#CASO 1
# Para identificar un error.
#f <- function(x,y){
#  if(is.character(return("y debe ser numérico"))) 
#    x+y} 
#f(2,"hola")

# CASO 2
# Cuando no se utiliza la función return() nos arroja un error.
#f <- function(x,y){
#if(is.character("y debe ser numérico"))
 #x+y}
 #f(2,"hola")