JuveYell

UNIVERSIDAD CENTRAL DEL ECUADOR
FACULTAD DE CIENCIAS ECONOMICAS
INGENIERIA EN ESTADISTICA

Integrantes :

FUNCIONES EN R

EJERCICIO 1

Funcion Suma.

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

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

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(2,3) [1] 5 > 5

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

suma(2,3)
## [1] 5

EJERCICIO 2

Funcion Potencia con Paste y 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"

También podemos utilizar la función cat(), que tiene mayor versatilidad. Por ejemplo: 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”, “”) #uita el último espacio María tiene 2 hijos. > cat(“María tiene”, x, “hijos”, “”) #divide la expresión en dos líneas María tiene 2 hijos.

x<-2    
cat(x)
## 2
cat("Maria")
## Maria
cat("Maria tiene", x, "hijos", ".")
## Maria tiene 2 hijos .
cat("Maria tiene", x, "hijos", "\b.")
## Maria tiene 2 hijos .
cat("Maria tiene\n", x, "hijos", "\b.")
## Maria tiene
##  2 hijos .

EJERCICIO 3

Funcion de Valor Absoluto con Condicionales (if).

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

EJERCICIO 4

Funcion a Trozos con Condicionales (if).

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

EJERCICIO 5

Calculo de la 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("hombre",170,57,32)
## [1] 1479.3

EJERCICIO 6

Varias Formas de Obtener Resultados.

hipotenusa <- function(cateto1, cateto2){ 
  sqrt(cateto1^2+cateto2^2)} 
hipotenusa(2,4)
## [1] 4.472136
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
hipotenusa(2:4,4:6)
## $cateto1
## [1] 2 3 4
## 
## $cateto2
## [1] 4 5 6
## 
## $hipotenusa
## [1] 4.472136 5.830952 7.211103
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
hipotenusa<-function(cateto1, cateto2){
  h <- sqrt(cateto1^2+cateto2^2)
  data.frame(cateto1=cateto1,cateto2=cateto2,hipotenusa=h)}
hipotenusa(2:4,4:6)
##   cateto1 cateto2 hipotenusa
## 1       2       4   4.472136
## 2       3       5   5.830952
## 3       4       6   7.211103

EJERCICIO 7

Funcion Return.

Para identificar un error.

f<-function(x,y) {
  return("y debe ser numerico")
  x+y 
} 
f(2,"hola")
## [1] "y debe ser numerico"

Cuando no se utiliza la funcion return() nos arroja un error.

# f <- function(x,y){
# if(is.character("y debe ser numérico"))
# x+y}
# f(2,"hola")