APLICANDO LOS CONOCIMIENTOS DE RSTUDIO
En este documento se presentan los ejercicios resuletos del taller #13 haciendo uso de rmarkdown
AUTORES
COLABORACIÓN
suma <- function(x,y){
x+y }
suma(x=2, y=3)
## [1] 5
suma(2,3)
## [1] 5
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 .
absoluto <- function(x) {
if(x<0){ -x }
else { x }
}
absoluto(-3)
## [1] 3
absoluto(3)
## [1] 3
ftrozos <- function(x) {
if (x < 5) {0}
else {10}}
ftrozos(3)
## [1] 0
ftrozos(5)
## [1] 10
# 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.
# 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
# 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")