UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE CIENCIAS ECONÓMICAS

CARRERA DE ESTADÍSTICA



PRIMERAS PRACTICAS EN R 2

Manual

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 principalmente en Vectores.

EJERCICIOS RESUELTOS EN R

Ejercicio 1

Calcule los valores numéricos aproximados de 

  1. Para resolver este ejercicio, lo primero que debemos saber, es que RStudio también funciona como una calculadora, por lo que únicamente debemos ingresar las operaciones y correrlas.

Ejecución del código en R

SINTAXIS COMPLETA
#Operación 1
(0.3*0.15)/((0.3*0.15)+(0.2*0.8)+(0.5*0.12))
## [1] 0.1698113
#Operación 2
((5^6)/factorial(6))*exp(-5)
## [1] 0.1462228
#Operación 3
(factorial(20)/(factorial(7)*factorial(13)))*(0.4^7)*(0.6^13)
## [1] 0.1658823

Ejercicio 2

Realiza las siguientes sumas.
Suma 1
1+2+3+⋯+1000+1+2+3+⋯+1000
  1. Para este ejercicio utilizaremos vectores.

Usaremos:

c= Nos permite convertir en vector la variable declarada. 
:= Nos permite elaborar una sucesión de números.
sum= La función sum suma todos los elementos de un vector.

Declararemos 2 vectores del mismo tamaño.

    v1<-c(1:1000)
    v2<-c(1:1000)

  1. Declaramos nuevas variables como vectores, donde sumaremos los elementos de los primeros vectores.

    v3<-sum(v1)
    v4<-sum(v2)

  1. Finalmente en un último vector sumamos los resultaos de las sumas.

    v5<-c(v3,v4)

Ejecución del código en R

SINTAXIS COMPLETA
v1<-c(1:1000)
v2<-c(1:1000)

v3<-sum(v1)
v4<-sum(v2)

v5<-c(v3,v4)
v5
## [1] 500500 500500
Suma 2
1+2+4+8+16+⋯+10241+2+4+8+16+⋯+1024
  1. Para este ejercicio utilizaremos vectores.

Usaremos:

:= Nos permite elaborar una sucesión de números.

Declararemos 2 vectores.

    a<-0
    b<-2

  1. Utilizamos un bucle que permita que la sucesión sume todos sus números entre si.

    for(i in 0:10)
    {
    a<-a+(b^i)
    }

  1. Finalmente juntamos los resultados.

Ejecución del código en R

SINTAXIS COMPLETA
a<-0
b<-2
for(i in 0:10)
{
  a<-a+(b^i)
}
cat(a,a)
## 2047 2047

Ejercicio 3

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

Crear el vector alumnos con 20 nombres.

  • Visualízalo en pantalla
  • ¿Cuántas componentes tiene el vector alumnos?
  • ¿En qué posiciones del vector alumnos está la letra ‘A’?

Usaremos:

c= Nos permite convertir en vector la variable declarada. 
length= Da la longitud del vector argumento x.
which= Da el vector de “posiciones” donde x es TRUE. El argumento suele ser una comparación.
  1. Crearemos el vector “alumnos”.

    alumnos<-c("Adrian",
           "Gissel",
           "Abigail",
           "Critopher",
           "Julian",
           "Erick",
           "Alex",
           "Roberto",
           "Kevin",
           "Daniel",
           "Carmen",
           "Scarlet",
           "Carolina",
           "Maria",
           "Evelyn",
           "Gonzalo",
           "Leonel",
           "Gabriela",
           "Maribel",
           "Piero")

  1. Llamamos al vector escribiendo en otra línea el nombre de este y corriendo dicha línea.

    alumnos

  1. Usamos length para conocer el tamaño de nuestro vector.

    length(alumnos)

  1. Ahora usaremos which para encontrar la posición de “A” dentro de los elementos de nuestro vector.

    a<-substring(alumnos,1,1)
    which(a=="A")

Ejecución del código en R

SINTAXIS COMPLETA
alumnos<-c("Adrian",
           "Gissel",
           "Abigail",
           "Critopher",
           "Julian",
           "Erick",
           "Alex",
           "Roberto",
           "Kevin",
           "Daniel",
           "Carmen",
           "Scarlet",
           "Carolina",
           "Maria",
           "Evelyn",
           "Gonzalo",
           "Leonel",
           "Gabriela",
           "Maribel",
           "Piero")

alumnos
##  [1] "Adrian"    "Gissel"    "Abigail"   "Critopher" "Julian"    "Erick"    
##  [7] "Alex"      "Roberto"   "Kevin"     "Daniel"    "Carmen"    "Scarlet"  
## [13] "Carolina"  "Maria"     "Evelyn"    "Gonzalo"   "Leonel"    "Gabriela" 
## [19] "Maribel"   "Piero"
length(alumnos)
## [1] 20
a<-substring(alumnos,1,1)
d<-which(a=="A")

cat("Los elementos del vector alumnos, que contiene A son", d)
## Los elementos del vector alumnos, que contiene A son 1 3 7

Ejercicio 4

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

Crear el vector notas.

  • Visualízalo en pantalla
  • ¿Cuántas componentes tiene?
  • ¿Cuánto suman todas las notas?
  • ¿Cuál es la media aritmética de todas las notas?
  • ¿En qué posiciones están las notas mayores de 7?
  • Visualiza las notas ordenadas de menor a mayor
  • Visualiza las notas ordenadas de mayor a menor
  • ¿Cuál ha sido la nota máxima?
  • ¿En qué posición del vector está esa nota máxima?

Usaremos:

c= Nos permite convertir en vector la variable declarada. 
length= Da la longitud del vector argumento x.
which= Da el vector de “posiciones” donde x es TRUE. El argumento suele ser una comparación.
as.integer= Declara la variable como entero.
runif= Genera números aleatorios.
sum= La función sum suma todos los elementos de un vector.
mean= Encuentra la media.
sort= Da el vector argumento x reordenado de manera creciente.
sort(x,decreasing=TRUE)= Da los valores ordenados pero decreciente.
min= Da el valor MÍNimo de los argumentos.
max= Da el valor MÁXimo de los argumentos.
  1. Crearemos el vector “notas”.

    notas<-c(as.integer(runif(20L, min=1L, max=21L)))

  1. Asignamos a una variable la función length para determinar el tamaño del vector notas.

    tam<-length(notas)

  1. Asignamos a una variable la función sum para determinar el valor total de todas las notas.

    Suma<-sum(notas)

  1. Asignamos a una variable la función mean para determinar la media de los valores del vector notas.

    m.a<-mean(notas)

  1. Usamos la función which para encontrar las notas mayores a 7.

    (which(notas > 7))

  1. Asignamos a una variable la función sort para ordenar los valores de forma creciente.

    ascendente<-sort(notas,decreasing = T)

  1. Asignamos a una variable la función sort con decreasing = T para ordenar los valores de forma decreciente.

    ascendente<-sort(notas,decreasing = T)

  1. Asignamos a una variable la función max para determinar cuál a sido la nota máxima.

    maximo<-max(notas)

  1. Usamos la función which para encontrar la posición de la nota máxima.

    min(which(notas == maximo))

Ejecución del código en R

SINTAXIS COMPLETA
notas<-c(as.integer(runif(20L, min=1L, max=21L)))
##NOTAS
notas
##  [1] 10 17  9 10  9 14 11  4  3  7 19  4 13  3 14 12 20  6 10 17
tam<-length(notas)
cat("El vector notas tiene",tam,"elementos." )
## El vector notas tiene 20 elementos.
Suma<-sum(notas)
cat("La suma total de todas las notas es",Suma,"." )
## La suma total de todas las notas es 212 .
m.a<-mean(notas)
cat("La media aritmética de las notas es",m.a,"." )
## La media aritmética de las notas es 10.6 .
pos<-(which(notas > 7))
cat("Las notas mayores a 7 están en las posiciones", pos)
## Las notas mayores a 7 están en las posiciones 1 2 3 4 5 6 7 11 13 15 16 17 19 20
#ORDEN
#Ascendente
descendente<-sort(notas)
descendente
##  [1]  3  3  4  4  6  7  9  9 10 10 10 11 12 13 14 14 17 17 19 20
#Descendente
ascendente<-sort(notas,decreasing = T)
ascendente
##  [1] 20 19 17 17 14 14 13 12 11 10 10 10  9  9  7  6  4  4  3  3
maximo<-max(notas)
cat("La nota máxima es",maximo,"." )
## La nota máxima es 20 .
pos2<-min(which(notas == maximo))
cat("Las mayor nota se encuentra en la posición", pos2)
## Las mayor nota se encuentra en la posición 17

Ejercicio 5

A partir de los vectores alumnos y notas definidos.
  • Visualiza las notas de los 10 primeros alumnos
  • Suma las notas de los 10 primeros alumnos del vector
  • ¿Cuántos alumnos hay en total?
  • Suma las notas de los alumnos
  • ¿Cuántos alumnos han aprobado?
  • ¿Qué porcentaje de alumnos han aprobado?
c= Nos permite convertir en vector la variable declarada. 
length= Da la longitud del vector argumento x.
sum= La función sum suma todos los elementos de un vector.

Usaremos:

  1. Visualiza las notas de los 10 primeros alumnos. Asignamos a una variable la secuencia de los 10 primeros datos.

    alu10<-notas[1:10]

  1. Asignamos a una variable la función sum para determinar el valor de las 10 primeras notas.

    alumnos
    n<-length(alumnos)

  1. Asignamos a una variable la función length para conocer cuántos alumnos hay en total.

   n<-length(alumnos)

  1. Asignamos a una variable la función sum para determinar el valor total de todas las notas.

    sumnota<-sum(notas)

  1. Asignamos la función lenght a una variable, para determinar las notas mayores al minimo para aprobar.

    aprob<-notas[notas>=14]
    totalapr<-length(aprob)

  1. Declaramos variables con la respectiva fórmula para el cálculo del porcentaje de los aprobados.

    total<-length(notas)
    porcen<-(totalapr/total*100)

Ejecución del código en R

SINTAXIS COMPLETA
alu10<-notas[1:10]
cat("Las notas de los 10 primeros alumnos son",alu10)
## Las notas de los 10 primeros alumnos son 10 17 9 10 9 14 11 4 3 7
sumalu<-sum(alu10)
cat("La suma de las notas de los 10 primeros alumnos es", sumalu)
## La suma de las notas de los 10 primeros alumnos es 94
alumnos
##  [1] "Adrian"    "Gissel"    "Abigail"   "Critopher" "Julian"    "Erick"    
##  [7] "Alex"      "Roberto"   "Kevin"     "Daniel"    "Carmen"    "Scarlet"  
## [13] "Carolina"  "Maria"     "Evelyn"    "Gonzalo"   "Leonel"    "Gabriela" 
## [19] "Maribel"   "Piero"
n<-length(alumnos)
cat("Hay", n, "alumnos en total")
## Hay 20 alumnos en total
notas
##  [1] 10 17  9 10  9 14 11  4  3  7 19  4 13  3 14 12 20  6 10 17
sumnota<-sum(notas)
cat("La suma de las notas de los alumnos es", sumnota)
## La suma de las notas de los alumnos es 212
aprob<-notas[notas>=14]
totalapr<-length(aprob)
cat("Los alumnos aprobados fueron", totalapr, "en total")
## Los alumnos aprobados fueron 6 en total
total<-length(notas)
porcen<-(totalapr/total*100)
porcen
## [1] 30
cat("El porcentaje de alumnos aprobados es", porcen, "%")
## El porcentaje de alumnos aprobados es 30 %

COLABORADOR: Phd.Francisco Valverde Alulema.