En el siguiente texto podremos encontrar una serie de códigos elaborados en el programa Rstudio que darán solución a un determinado ejercicio enfocados en el uso de funciones.
suma<-function(x,y)
suma<-function(x,y){
x+y
}
suma (2,3)
##EJERCICIO 1
#Función Suma.
suma<-function(x,y){
x+y
}
suma(2,3)
## [1] 5
potencia<-function(x,y)
potencia<-function(x,y){
result<-x^y
}
potencia<-function(x,y){
result<-x^y
paste(x,"elevado a la potencia de", y, "es", result)
}
potencia(2,3)
##EJERCICIO 2
#Función Potencia (paste o cat).
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"
absoluto<-function(x)
absoluto<-function(x){
if (x<0){-x}
}
absoluto(-5)
##EJERCICIO 3
#Función Valor Absoluto (con condiciones).
absoluto<-function(x){
if (x<0){-x}
}
absoluto(-5)
## [1] 5
ftrozos <- function(x)
ftrozos <- function(x){
if(x<5){0}
ftrozos <- function(x){
if(x<5){0}
else{10}
}
ftrozos(5)
ftrozos(3)
##EJERCICIO 4
#Función a Trozos.
ftrozos <- function(x){
if(x<5){
0
}
else{
10
}
}
ftrozos(5)
ftrozos(3)
## [1] 10
## [1] 0
TMB<-function(sexo,altura,peso,edad)
TMB<-function(sexo,altura,peso,edad){
if(sexo=="mujer"){655+(9.6*peso)+(1.8*altura)-(4.7*edad)}
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("mujer",155,51,22)
##EJERCICIO 5
#Tasa de metabolismo basal.
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("mujer",155,51,22)
## [1] 1320.2
hipotenusa<-function(cateto1,cateto2)
h<-sqrt(cateto1^2+cateto2^2)
list(cateto1=cateto1,cateto2=cateto2,hipotenusa=h)
data.frame(cateto1=cateto1,cateto2=cateto2,hipotenusa=h)
hipotenusa(2,3)
hipotenusa(2:4,4:6)
##EJERCICIO 6
#Varios Resultados.
hipotenusa<-function(cateto1,cateto2){
h<-sqrt(cateto1^2+cateto2^2)
list(cateto1=cateto1,cateto2=cateto2,hipotenusa=h)
}
hipotenusa(2,3)
hipotenusa(2:4,4:6)
hipotenusa1<-function(cateto1,cateto2){
h<-sqrt(cateto1^2+cateto2^2)
data.frame(cateto1=cateto1,cateto2=cateto2,hipotenusa=h)
}
hipotenusa1(2:4,4:6)
## $cateto1
## [1] 2
##
## $cateto2
## [1] 3
##
## $hipotenusa
## [1] 3.605551
## $cateto1
## [1] 2 3 4
##
## $cateto2
## [1] 4 5 6
##
## $hipotenusa
## [1] 4.472136 5.830952 7.211103
## cateto1 cateto2 hipotenusa
## 1 2 4 4.472136
## 2 3 5 5.830952
## 3 4 6 7.211103
f<-function(x,y)
if(is.character(y))
f<-function(x,y){
if(is.character(y)) return("y debe ser numerico")
x+y
}
f(4,"hola")
##EJERCICIO 7
#Función "return".
f<-function(x,y){
if(is.character(y)) return("y debe ser numérico")
x+y
}
f(4,"hola")
## [1] "y debe ser numérico"