Autores
-Rene Almeida
-Johann Tul
-Bryan Venegas
Función suma suma<-function(x,y){ +
suma de los elementos “x” e “y” + x+y + }suma<-function(x,y)
{x+y}
suma(x=2 , y=3)
También podemos omitir los nombres de los argumentos si mantenemos la correspondencia con el orden o posición de los argumentos en el que damos los valores:
suma <- function(x,y){
x+y
}
suma(2,3)
Funciónn potencia con paste y cat
Cuando queremos que el resultado de una función contenga texto podemos utilizar las función paste().
potencia <- function(x, y) {
result <- x^y
paste(x,"elevado a la potencia de", y, "es", result)
}
potencia(2,3)
También podemos utilizar la función cat(), que tiene mayor versatilidad. Por ejemplo:
potencia2 <- function(x, y) {
result <- x^y
cat(x,"elevado a la",y,"es igual a
",result)
}
potencia2(2,3)
Función de valor absoluto con condicionales (if)
absoluto<-function(x) {
if(x<0){
paste(x*(-1))
}else {
paste(x)
}
}
absoluto(-3)
Función a trozos con condicionales (if) Función a trozos: si x es menor a 5 toma el valor 0 y en caso contrario el valor 10.
ftrozos <- function(x) {
if (x < 5){0}
else
(x=10)
}
ftrozos(3)
ftrozos(5)
Cálculo de la tasa de metabolismo basal 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<-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)
TMB("mujer",150,50,25)
Varias formas de obtener resultados. Imagina que queremos calcular el valor de la hipotenusa de un triángulo a partir de los valores de sus catetos. Único valor. Si solo queremos obtener el valor de la hipotenusa:
hipotenusa<-function(cateto1, cateto2) {
sqrt(cateto1^2+cateto2^2)
}
hipotenusa(2,4)
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)
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<- function(cateto1, cateto2)
{
h<-sqrt(cateto1^2+cateto2^2)
list(cateto1=cateto1,cateto2=cateto2,hipotenusa=h)
}
hipotenusa(2:4,4:6)
Resultado como data.frame. Si queremos que el resultado sea de un mismo tipo pero con múltiples variables podemos utilizar eldata.frame.
hipotenusa2<-function(cateto1, cateto2) {
h2<-sqrt(cateto1^2+cateto2^2)
data.frame(variable=c("cateto","cateto","hipotenusa"),valor=c(cateto1,cateto2,h2))
}
hipotenusa2(2,4)
Función return
f<-function(x,y) {
return("y debe ser numérico")
x+y
}
f(2,"hola")
Si no utilizáramos la función return() obtendríamos un mensaje de error: