ANÁLISI MULTIVARIADO

TAREA 1

Alumna: Andrea Elizabeth Arredondo Sánchez

Ejercicio 1

¿Cual sera el precio resultante de la accion despues de que ocurran todas las variaciones?

## [1] 439

Al leer la serie de las variaciones del precio de la accion obtenemos que el precio resultante de la accion es P=439

Ejercicio 2

¿Cual es primer precio que ocurre dos veces dada esta lista de variaciones?

## [1] "el primer precio repetido es ' 124645 ' en la iteración  139891"

El primer valor del precio de la accion que se repitio al menos dos veces segun la lista de variaciones fue de P= $124,645 en la iteracion numero 139,891

NOTA: La funcion ‘precio.rep’ implementada en este ejercicio se encuentra en Anexo1.

Ejercicio 3

Encuentra la suma de todos los multiplos de 3 o 5 menores a 1000

## [1] "la suma de todos los multiplos de 3 y 5 menores a 'x= 1000 ' son:  233168"

La suma de todos los multiplos de 3 y 5 menores a 1000 es: 233,168 La funcion ‘secuencia’ calcula la suma de todos los multiplos de 3 y 5 menores a 1000

NOTA: La funcion ‘secuencia’ implementada en este ejercicio se encuentran en Anexo2

Ejercicio 4

Considere los elementos de la sucesion de Fibonacci menores a 1,000,000,000. Sea x la suma de los elementos impares, y la suma de los elementos pares. Encuentre z=x/y

## [1] "Los numeros pares son:  2 8 34 144 610 2584 10946 46368 196418 832040 3524578 14930352 63245986 267914296"
## [1] "Los numeros impares son:  1 3 5 13 21 55 89 233 377 987 1597 4181 6765 17711 28657 75025 121393 317811 514229 1346269 2178309 5702887 9227465 24157817 39088169 102334155 165580141 433494437 701408733"
## [1] "Z = X/Y =  4.23606797926205"

Arroja los primeros 43 valores de la serie de fibonacci tales que el mayor numero de ellos es menor o igual a 1,000,000,000

Lo que se implemento fue una funcion ‘fibonacci’ que arroja los primeros terminos de la sucesion de fibonacci tales que el mayor numero de la serie no exceda el valor que se le asigna a la funcion fibonacci, en este caso 1,000,000,000

Luego implemente la funcion ‘pares’ que arroja los numeros pares e los impares de la serie calculada previamente y el valor de Z=x/y=4.23606797926205

NOTA:Las funciones ‘fibonacci’ y ‘pares’ implementada en este ejercicio se encuentran en Anexo3

Ejercicio 5

Ahora considere los primeros 10n elementos de la sucesion de Fibonacci con nE(1,200), sean x el numero de elementos impares, y el numero de elementos pares y z=x/y. Haga un grafico interactivo del vector de z’s.

a=c(2,15,30,45,60,75,90,105,120,135,145)   #tomo una muestra 

serie=c()
for(i in 1:length(a)){
serie[i]=list(fibonacci1(a[i]))
}

b=c()
for(i in 1:length(a)){
b[i]=freq.pares(serie[[i]])
}
## [1] 1.857143
## [1] 0.5151515
## [1] 0.2048193
## [1] 0.1278195
## [1] 0.09289617
## [1] 0.07296137
## [1] 0.06007067
## [1] 0.05105105
## [1] 0.04438642
## [1] 0.03926097
## [1] 0.03645461
data<- data.frame(n = a,Z = b)
plot(data)

La grafica muestra como las observaciones de Z=x/y se van haciendo mas pequeñas en cuanto el valor de n incrementa.

La funcion ‘freq.pares’ calcula el cociente de los numeros impares entre los pares y la funcion ‘fibonacci1’ calcula la serie de fibonacci segunla cantidad de elementos que tenga la serie; a diferencia de la funcion implementada en el ejercicio anterior que era segun el valor de los terminos de la serie.

NOTA: Las funciones ‘freq.pares’ y ‘fibonacci1’ implementadas en este ejercicio se encuentran en Anexo 4

Ejercicio 6

Escriba una funcion que encuentre los numeros primos entre 1 y n. Haga un grafico animado de la proporcion de numeros primos en los primeros 10k naturales con kE(1:100)

Se observa un decremento en la proporción porque en cuanto crece n entonces la proporción de numeros primos se va haciendo menor.

NOTA: la funcion ‘muestra.primos’ implementada en este ejercicio se encuentra en el Anexo5 la cual devuelve cuantos primos hay en el intervalo (1:x)

Ejercicio 7

Es bien sabido que ??X,Y=0???X???Y es falso. Simule un contraejemplo.

X <- rnorm(1,0,1)
y<- x^2
(Cov <- mean(x - mean(x))*mean(y - mean(y)))
## [1] 0

Un contraejemplo es la Covarianza tal como se observa en el contrajemplo

ANEXOS

Anexo 1: funcion ‘precio.rep’

vector<-datos[,1]   #convierto data frame en vector
precio<- c()
precio.rep <- function(vector) {
  for(i in 1:250){   #ciclo de las repeticiones del vector
    vector1 <- rep(vector,times=i)
    for(j in (length(vector1)-length(vector)+1):length(vector1)){ #ciclo de la suma acumulada
      precio[j]<-sum(vector1[1:j])
        if(is.na((sum(precio[j]==precio[])==1))) {"X es NA"}
        else     
        if((sum(precio[j]==precio[])==1))
          {+j}
        else
        {
          texto <- paste("el primer precio repetido es '", precio[j],"' en la iteración ", j)
          print(texto)
          break}
    }
  }
}

precio.rep(vector)

Anexo 2: funcion ‘secuencia’

multiplo<- c()
secuencia <- function(x) {
y<- seq(1:x)
  for(i in 1:(length(y)-1)){
    if(i%%3==0 | i%%5==0){
      multiplo=c(multiplo,i)
    } 
  }
t<- paste("la suma de todos los multiplos de 3 y 5 menores a 'x' son: ",sum(multiplo))
print(t)
}

Anexo 3: funcion ‘fibonacci’ y ‘pares’

fib <- c()
fibonacci <- function(n) {   #calculo la serie de fibonacci
    fib[1:2] <- c(1,2)
    for (i in 3:n){
      fib[i] <- fib[i-2] + fib[i-1]
      if(fib[i]<n){
        +i
      } else {return(fib[1:(i-1)])}   #regresa los valores de la serie hasta donde el valor de la misma no exceda 'n'
    }
}

par = c()      
impar = c() 
pares <- function (x){
for(i in 1:length(x)){   
  if(x[i]%%2==0) {       # Si al dividir por 2 sale 0
    par<-c(par,x[i])
  } else {
    impar<-c(impar,x[i])}     # el numero es par, impar en otro caso
}
  sum1<- sum(impar)
  sum2<- sum(par)
  result<- sum1/sum2
  (u1=paste(c("Los numeros pares son: ", par[]),collapse = " "))
  (u2=paste(c("Los numeros impares son: ",impar[]),collapse = " "))
  (v=paste(c("Z = X/Y = ", result),collapse = " "))
  print(u1); print(u2);print(v)
}

Anexo 4: funcion ‘freq.pares’ y ‘fibonacci1’

par = c()      
impar = c() 
#cuento la frecuencia de los numeros pares e impares de (1:x)y construyo Z
freq.pares <- function (x){
  for(i in 1:length(x)){   
    if(x[i]%%2==0) {       # Si al dividir por 2 sale 0
      par<-c(par,x[i])
    } else {
      impar<-c(impar,x[i])}     # el numero es par, impar en otro caso
  }
  freq1<- length(impar)
  freq2<- length(par)
  Z<- freq1/freq2
  print(Z)
}   

fib<- c()
fibonacci1 <- function(n) {   #calculo la serie de fibonacci segunla cantidad de elementos en la serie
  fib[1:2] <- c(1,2)
  if (n>1 & n<200){
    for (i in 3:(10*n)){
      fib[i] <- fib[i-2] + fib[i-1]
    }
    return(fib[])
  } else {print("El valor dado de n no se encuentra dentro del intervalo (1,200)")}
}

Anexo 5: funcion ‘freq.pares’ y ‘muestra.primos’

muestra.primos=function(x){
  primoo = 2
  for(i in 3:x){
    num_divisores = 2
    if( i %% 2 != 0)   {   #si el numero no es par
          for(j in 2:(i-1))  {   
            if((i %% j == 0) ) { #si es divisible entre alguno de los numeros anteriores
              num_divisores=(num_divisores + 1)
             } 
          } 
    }
  
    if(num_divisores > 2 | (i %% 2== 0 & i !=2))  {   #si es par y no es dos o si num_divisores>2
      +i  #i no es un numero primo  
    } else {primoo=c(primoo,i)  #i es un numero primo
      }
  } 
  length(primoo)
}