Ejercicio 1
sumaVectores <- function(x,y){
if(length(x) != length(y))
return("NULL")
else
return(x+y)
}
Ejercicio 2
escoger <- function(n,k){
#return(factorial(n)/(factorial(n-k)*factorial(k)))
return(gamma(n+1)/(gamma((n-k)+1)*gamma(k+1)))
}
Ejercicio 3
serLeib <- function(n){
leib <- c()
for(i in 0:n)
leib <- c(leib,(-1)**i/(2*i+1))
return(sum(leib))
}
Ejercicio 4
serFib <- function(n){
fib <- c(0,1)
if(n == 0)
return(0)
if(n == 1)
return(1)
if(n < 0)
return("NULL")
else {
for(i in 2:n){
fib <- c(fib,sum(fib[i-1],fib[i]))
}
return(fib[n+1])
}
}
Ejercicio 5
nserFib <- function(n){
fib <- c(0,1)
if(n == 0)
return(0)
if(n == 1)
return(fib)
if(n < 0)
return("NULL")
else {
for(i in 2:n){
fib <- c(fib,sum(fib[i-1],fib[i]))
}
return(fib)
}
}
Ejercicio 6
contDevNeg <- function(x){
return(list(x[which(x < 0)],length(x[which(x < 0)])))
}
Ejercicio 7
indexa <- function(x,n){
return(x[1:n])
}
Ejercicio 8
##unión
unir <- function(x,y){
unique(c(x,y))
}
#Comparación
unir(c(6,7,8),c(1,2,3,4))
## [1] 6 7 8 1 2 3 4
union(c(6,7,8),c(1,2,3,4))
## [1] 6 7 8 1 2 3 4
##intersección
intersectar <- function(x,y){
c(x,y)[duplicated(c(x,y))]
}
#Comparación
intersectar(c(1,2),c(1,2,3))
## [1] 1 2
intersect(c(1,2),c(1,2,3))
## [1] 1 2
#diferencia
restar <- function(x,y){
x[-c(c(x,y)[duplicated(c(x,y))])]
}
#Comparación
restar(c(1,2,3), c(1,2))
## [1] 3
setdiff(c(1,2,3), c(1,2))
## [1] 3
#igualdad
igualar <- function(x,y){
all(length(x) == length(x)) && all(x == y)
}
#Comparación
igualar(c(1,2,3),c(1,2,3))
## [1] TRUE
setequal(c(1,2,3),c(1,2,3))
## [1] TRUE