EJERCICIOS EN R

En el presente informe podrá encontrar 5 diferentes ejercicios que requieren la utilización de vectores y fueron elaborados en el programa RStudio, cada uno con su respectivo planteamiento del problema y resultados.

_________________________________________________________________

EJERCICIO 1:

Calcula los valores numéricos aproximados de los siguientes problemas:

Primer Problema

\[ =\frac{0.3*0.15}{0.3*0.15+0.2*0.8+0.5*0.12}\] Paso 1: Para resolver el primer problema vamos a crear una variable x en donde realizaremos el problema.

x <- (0.3*0.15)/((0.3*0.15)+(0.2*0.8)+(0.5*0.12))

Paso 2: Una vez asignado la variable simplemente presentaremos el resultado.

## [1] 0.1698113
Segundo Problema

\[=\frac{5^6}{6!}*e^{-5}\] Paso 1: Asignamos una variable y donde realizamos el problema, para esto, ocuparemos las funciones factorial y exp.

y <- (5^6/factorial(6))*exp(-5)

Paso 2: Hecho esto, presentamos la respuesta.

## [1] 0.1462228
Tercer Problema

\[=\frac{20!}{7!(20-7)!}*0.4^7*0.6^{13}\] Paso 1: Asignamos una variable n que representa nuestro factorial mayor y una variable m que representa la factorial menor.

n <- 20
m <- 7

Paso 2: Procedemos a crear una variable donde realizaremos el problema.

z <- factorial(n)/(factorial(m)*factorial(n-m))*(0.4^7)*(0.6^13)

Paso 3: Presentamos la respuesta del problema.

## [1] 0.1658823

_________________________________________________________________

EJERCICIO 2:

Realiza las siguientes sumas:

Primera suma

\[ 1+2+3+...1000+1+2+3+...+1000\] Paso 1: Definimos un vector a que contenga los valores del 1 al 1000 y asignamos otra variable que sume los valores del vector con la función sum, y haremos lo mismo con otro vector llamado b.

a <- (1:1000)
suma1 <- sum(a)
b <- (1:1000)
suma2 <- sum(b)

Paso 2: Creamos un vector resultado donde concatenamos la suma del vector a y el vector b.

resultado <-c(suma1,suma2) 

Paso 3: Presentamos la respuesta de la suma.

## [1] 500500 500500
Segunda suma

\[1+2+4+8+16+...+1024+1+2+4+8+16+...+1024\] Paso 1: Creamos una variable n1 y suma1 que servirán de auxiliar para realizar la suma.

n1<-1
suma1<-0

Paso 2: Utilizaremos una condicional while para que realice la suma.

while (n1<=1024)
{
  suma1=suma1+n1

n1=n1*2
}

Paso 3: Creamos un vector resultado donde concatenamos los resultados de la suma y presentamos la respuesta.

resultado<-c(suma1,suma1)
resultado
## [1] 2047
## [1] 2047 2047

_________________________________________________________________

EJERCICIO 3:

El vector alumnos representa los nombres de una serie de alumnos.

Crear el vector alumnos con 20 nombres

1.-Visualízalo en pantalla

Paso 1: Creamos el vector alumnos

alumnos <- c("A","Luis","Juan","Ana","Liz","Camila",
             "Fernanda","Kevin","Andres","Carolina", 
             "Tania","Mateo","Dilan","Andrea","Estefania",
             "Ariel","Jhon","Sol","Domenica","Jenny")

2-¿Cuántas componentes tiene el vector alumnos?

Paso 2: Utilizamos la función length para ver cuantos componentes tiene el vector.

length(alumnos)
## [1] 20

3-¿En qué posiciones del vector alumnos está la letra ‘A’?

Paso 3: Creamos la variable posición y utilizamosel comnando which que nos permite encontrar índices.

posicion <- which(alumnos=="A")
posicion
## [1] 1

_________________________________________________________________

EJERCICIO 4:

El vector notas representa la nota de un examen, de los mismos alumnos cuyo lista se ha guardado en el vector alumnos y en el mismo orden.

Crear el vector notas

1.-Visualízalo en pantalla

Paso 1: Creamos el vector notas.

notas<-c(7,9,10,5,8,6,10,9,6,5,9,2,4,8,7,5,9,5,10,8)
notas
##  [1]  7  9 10  5  8  6 10  9  6  5  9  2  4  8  7  5  9  5 10  8

2.¿Cuántas componentes tiene?

Paso 2: Utilizaremos la función lenght ya que nos devuelve el tamaño de un objeto o el número de elementos.

length(notas)
## [1] 20

3.¿Cuánto suman todas las notas?

Paso 3: Utilizamos la función sum.

sum(notas)
## [1] 142

4.¿Cuál es la media aritmética de todas las notas?

Paso 4: Para ello utilizamos la función mean.

mean(notas)
## [1] 7.1

5.¿En qué posiciones están las notas mayores de 7?

Paso 5: Para calcular la posición de los elementos cuya nota sea mayor a 7 utilizamos la función which ya que nos devuelve la posición de los elementos en un vector, siempre y cuando cumpla ciertas características.

which(notas>7)
##  [1]  2  3  5  7  8 11 14 17 19 20

6.Visualiza las notas ordenadas de menor a mayor

Paso 6: Se utilizó la función sort ya que por defecto los ordena ascendentemente.

sort(notas)
##  [1]  2  4  5  5  5  5  6  6  7  7  8  8  8  9  9  9  9 10 10 10

7.Visualiza las notas ordenadas de mayor a menor

Paso 7: Para que nos ordene los elementos descendentemente se utilizo la funcion sort y deseasing.

sort(notas, decreasing = TRUE)
##  [1] 10 10 10  9  9  9  9  8  8  8  7  7  6  6  5  5  5  5  4  2

8.¿Cuál ha sido la nota máxima?

Paso 8: Se utilizo la función max para que nos devuelva la nota más alta.

max(notas)
## [1] 10

9.¿En qué posición del vector está esa nota máxima?

Paso 9: Para ello utilizamos las dos funciones mencionadas y explicadas anteriormente.

which.max(notas)
## [1] 3

_________________________________________________________________

EJERCICIO 5:

A partir de los vectores alumnos y notas definidos:

Paso 1: Procedemos a colocar el respectivo encabezado, luego las notas y los nombres de los alumnos, procedemos a combinar ambos vectores.

alumnos <- c("Angela","Luis","Juan","Ana","Liz","Camila",
             "Fernanda","Kevin","Andres","Carolina", 
             "Tania","Mateo","Dilan","Andrea","Estefania",
             "Ariel","Jhon","Sol","Domenica","Jenny")

notas<-c(7,9,10,5,8,6,10,9,6,5,9,2,4,8,7,5,9,5,10,8)

names(notas) <- alumnos
notas
##    Angela      Luis      Juan       Ana       Liz    Camila  Fernanda     Kevin 
##         7         9        10         5         8         6        10         9 
##    Andres  Carolina     Tania     Mateo     Dilan    Andrea Estefania     Ariel 
##         6         5         9         2         4         8         7         5 
##      Jhon       Sol  Domenica     Jenny 
##         9         5        10         8

Paso 2: Realizamos las tareas que nos piden a continuación:

1.Visualizar las notas de los 10 primeros alumnos

Escribimos que queremos visualizar las notas de los 10 primeros alumnos, colocamos el rango de 1:10 o el comando head.

notas[1:10]
##   Angela     Luis     Juan      Ana      Liz   Camila Fernanda    Kevin 
##        7        9       10        5        8        6       10        9 
##   Andres Carolina 
##        6        5
head(notas,10)
##   Angela     Luis     Juan      Ana      Liz   Camila Fernanda    Kevin 
##        7        9       10        5        8        6       10        9 
##   Andres Carolina 
##        6        5

2.Suma las notas de los 10 primeros alumnos del vector

Para la suma aplicamos el comando sum en cualquiera de las 2 formas anteriores.

sum(notas[1:10])
## [1] 75
sum(head(notas,10))
## [1] 75
  1. ¿Cuántos alumnos hay en total?

Con el comando Length vamos a visualizar el total de alumnos.

length(alumnos)
## [1] 20
  1. Suma las notas de los alumnos

Para saber la suma total de notas aplicamos el comando sum.

sum(notas)
## [1] 142
  1. ¿Cuántos alumnos han aprobado?

Primero creamos las variables para que el programa nos identifique los alumnos aprobados.

a <- length(notas)
b <- 1
cont<-0
cont1<-0
aprobados <- 1:a
aprobados[1] <- NA
for(c in 1:a){
  if(notas[c]>=7){
    aprobados[b] <- "aprobado" 
    cont<-cont+1
  }else{
    aprobados[b] <- "reprobado" 
    cont1<-cont1+1
  }
  b <- b+1
}
aprobados
##  [1] "aprobado"  "aprobado"  "aprobado"  "reprobado" "aprobado"  "reprobado"
##  [7] "aprobado"  "aprobado"  "reprobado" "reprobado" "aprobado"  "reprobado"
## [13] "reprobado" "aprobado"  "aprobado"  "reprobado" "aprobado"  "reprobado"
## [19] "aprobado"  "aprobado"
names(notas) <- aprobados
notas
##  aprobado  aprobado  aprobado reprobado  aprobado reprobado  aprobado  aprobado 
##         7         9        10         5         8         6        10         9 
## reprobado reprobado  aprobado reprobado reprobado  aprobado  aprobado reprobado 
##         6         5         9         2         4         8         7         5 
##  aprobado reprobado  aprobado  aprobado 
##         9         5        10         8
names(alumnos) <- aprobados
alumnos
##    aprobado    aprobado    aprobado   reprobado    aprobado   reprobado 
##    "Angela"      "Luis"      "Juan"       "Ana"       "Liz"    "Camila" 
##    aprobado    aprobado   reprobado   reprobado    aprobado   reprobado 
##  "Fernanda"     "Kevin"    "Andres"  "Carolina"     "Tania"     "Mateo" 
##   reprobado    aprobado    aprobado   reprobado    aprobado   reprobado 
##     "Dilan"    "Andrea" "Estefania"     "Ariel"      "Jhon"       "Sol" 
##    aprobado    aprobado 
##  "Domenica"     "Jenny"
cat("Aprobaron",cont,"alumnos\n","Y reprobaron",cont1,"alumnos")
## Aprobaron 12 alumnos
##  Y reprobaron 8 alumnos
  1. ¿Qué porcentaje de alumnos han aprobado?

Para conocer el porcentaje de alumnos aprobados creamos una nueva variable, imprimimos el resultado con el comando cat.

porcentaprob <-(cont*100)/a
cat("El porcentaje de aprobados es de: ",porcentaprob,"% de alumnos")
## El porcentaje de aprobados es de:  60 % de alumnos
  1. ¿Cuáles han sido las notas máxima y mínima?

Aplicamos los comandos Max y Min para saber cuál es la nota más alta y la mas baja.

m <- max(notas)
cat("La nota maxima es de: ",m)
## La nota maxima es de:  10
n <- min(notas)
cat("La nota minima es de: ",n)
## La nota minima es de:  2
  1. ¿De qué alumnos son la máxima y mínima notas? Utilizaremos el comando which para saber los nombres de cuáles son los alumnos con la nota máxima y mínima respectivamente.
e <- which.max(notas)
cat("La nota mayor es de: ",alumnos[e],"con una calificacion de: ",notas[e])
## La nota mayor es de:  Juan con una calificacion de:  10
f <- which.min(notas)
cat("La nota menor es de: ",alumnos[f],"con una calificacion de: ",notas[f])
## La nota menor es de:  Mateo con una calificacion de:  2
  1. Nota media de alumnos, teniendo en cuenta sólo a los que han aprobado.

Utilizaremos los comandos anteriores y a continuación la media para saber cuál es la media de notas de los alumnos.

p <- length(notas)
cont <- 0
sum <- 0
for(c in 1:p){
  if(notas[c]>=7){
    cont <- cont+1
    sum <- sum+notas[c]
  } 
}
media <- sum/cont
med<- round(media,2)
cat("La nota media solo de los alumnos que han aprobado es de: ",med)
## La nota media solo de los alumnos que han aprobado es de:  8.67