UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE CIENCIAS ECONÓMICAS

CARRERA DE FINANZAS

INTELIGENCIA DE NEGOCIOS

INTEGRANTES:
JULIAN JEREZ
ANAHY FERNÁNDEZ
MACIEL VILLAVICENCIO

DOCENTE: ING. FRANCISCO VALVERDE

EJERCICIO PRÁCTICO CASO DE APLICACIÓN HACIENDO USO DEL SOFTWARE R.

EJERCICIO 1

Primeras funciones importantes de R:

ls() sin argumentos, da el vector de nombres de variables definidas.

a<-5
b<-6
c<-8
ls()
## [1] "a" "b" "c"

a:b crea vector de enteros consecutivos, de a a b.

vector <-1:6
vector
## [1] 1 2 3 4 5 6

c(…) da un vector con los argumentos … concatenados.

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

length(x) da la longitud del vector argumento x.

length(vector_num)
## [1] 10

sum(…) Suma los componentes de los argumentos.

sum(vector_num)
## [1] 55

prod(…) Producto de los componentes de los argumentos.

prod(vector_num)
## [1] 3628800

sort(x) da el vector argumento x reordenado de manera creciente.

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

sort(x,decreasing=TRUE) lo mismo (pero decreciente).

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

min(…) da el valor mínimo de los argumentos.

min(vector_num)
## [1] 1

max(…) da el valor máximo de los argumentos.

max(vector_num)
## [1] 10

which(x) da el vector de “posiciones” donde x es TRUE. El argumento suele ser una comparación.

which(vector_num==2)
## [1] 2

Las siguientes funciones/operadores actúan componente por componente, devolviendo otro vector de igual tamaño:

+, -, *, /, ^, … operaciones matemáticas

5+6-8-6*9/10^9
## [1] 3

sqrt(), log(), exp(), sin(), abs(), … otras funciones matemáticas

sqrt(25)
## [1] 5
log(20)
## [1] 2.995732
exp(8)
## [1] 2980.958
sin(95)
## [1] 0.6832617
abs(54)
## [1] 54

<, ==, >, <=, >=, != operadores de comparación &, |, xor(), ! operadores lógicos (and, or, or exclusivo, not)

a=89 & b<15
c==15 | a==5
## [1] FALSE
xor(a==3,b<5)
## [1] FALSE
x <- c(a<8,b==5)
!x
## [1] FALSE  TRUE

EJERCICIO 2

Realizar las siguientes sumas:

  1. 1+2+3+…+1000 , 1+2+3+…+1000
sum1 <- sum(1:1000)
sum1
## [1] 500500
cat(sum1,sum1)
## 500500 500500
  1. 1+2+4+8+16+…+1024 , 1+2+4+8+16+…+1024
sum2 <- sum(2^(0:10))
sum2
## [1] 2047
cat(sum2,sum2)
## 2047 2047

EJERCICIO 3

El vector alumnos representa los nombres de una serie de alumnos. Crear el vector alumnos con 20 nombres.

  1. Visualizarlo en pantalla
Alumnos <- c("Luis","Jose","Alfredo","Sami","Kevin","Julian","Ana","Iñaqui","Homero","Omar","Ramiro","Cesar","Raul","Leo","Cristian","Antonio","Fernando","Kerly","Paul","Nala")
print(Alumnos)
##  [1] "Luis"     "Jose"     "Alfredo"  "Sami"     "Kevin"    "Julian"  
##  [7] "Ana"      "Iñaqui"   "Homero"   "Omar"     "Ramiro"   "Cesar"   
## [13] "Raul"     "Leo"      "Cristian" "Antonio"  "Fernando" "Kerly"   
## [19] "Paul"     "Nala"
  1. ¿Cuántos componentes tiene el vector alumnos?
length(Alumnos)
## [1] 20
  1. ¿En qué posiciones del vector alumnos está la letra “A”?
PosicionA <- grep("A", Alumnos)
PosicionA
## [1]  3  7 16

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.

Notas <- c(10, 20, 17, 13, 15, 8, 9, 12, 20, 11, 19, 5, 18, 16, 10, 20, 13, 14, 6, 20)
  1. Visualízalo en pantalla
print(Notas)
##  [1] 10 20 17 13 15  8  9 12 20 11 19  5 18 16 10 20 13 14  6 20
  1. ¿Cuántos componentes tiene?
length(Notas)
## [1] 20
  1. ¿Cuánto suman todas las notas?
sum(Notas)
## [1] 276
  1. ¿Cuál es la media aritmética de todas las notas?
mean(Notas)
## [1] 13.8
  1. ¿En qué posiciones están las notas mayores de 7?
which(Notas>7)
##  [1]  1  2  3  4  5  6  7  8  9 10 11 13 14 15 16 17 18 20
  1. Visualiza las notas ordenadas de menor a mayor
sort(Notas)
##  [1]  5  6  8  9 10 10 11 12 13 13 14 15 16 17 18 19 20 20 20 20
  1. Visualiza las notas ordenadas de mayor a menor
sort(Notas, decreasing = TRUE)
##  [1] 20 20 20 20 19 18 17 16 15 14 13 13 12 11 10 10  9  8  6  5
  1. ¿Cuál ha sido la nota máxima?
nota_maxima <- max(Notas)
nota_maxima
## [1] 20
  1. ¿En qué posición del vector está esa nota máxima?
which(Notas == nota_maxima)
## [1]  2  9 16 20

EJERCICIO 5

A partir de los vectores alumnos y notas definidos:

  1. Visualiza las notas de los 10 primeros alumnos
nota10primeros <- head(Notas, 10)
nota10primeros
##  [1] 10 20 17 13 15  8  9 12 20 11
  1. Suma las notas de los 10 primeros alumnos del vector
sum(nota10primeros)
## [1] 135
  1. ¿Cuántos alumnos hay en total?
TotalAlumnos <- length(Alumnos)
TotalAlumnos
## [1] 20
  1. Suma las notas de los alumnos
SumaNotas <- sum(Notas)
SumaNotas
## [1] 276
  1. ¿Cuántos alumnos han aprobado?
AlumnosAprobados <- which(Notas>=14)
TotalAlumnosAprobados <- length(AlumnosAprobados)
TotalAlumnosAprobados
## [1] 10
  1. ¿Qué porcentaje de alumnos han aprobado?
PorcentajeAprobacion <- (TotalAlumnosAprobados/TotalAlumnos)*100
cat("El porcentaje de alumnos aprobados es:", PorcentajeAprobacion,"%")
## El porcentaje de alumnos aprobados es: 50 %
  1. ¿Cuáles han sido las notas máxima y mínima?
max(Notas)
## [1] 20
min(Notas)
## [1] 5
  1. ¿De qué alumnos son la máxima y mínima notas?
posmax <- which(Notas == nota_maxima)
posmin <- which.min(Notas)
alumnosmax <- Alumnos[posmax]
cat("Los alumnos con la máxima nota son:", alumnosmax)
## Los alumnos con la máxima nota son: Jose Homero Antonio Nala
alumnomin <- Alumnos[posmin]
cat("El alumno con la menor nota es:", alumnomin)
## El alumno con la menor nota es: Cesar
  1. Nota media de alumnos, teniendo en cuenta sólo a los que han aprobado.
NotasAlumnosAprobados <- Notas[Notas>=14]
NotasAlumnosAprobados
##  [1] 20 17 15 20 19 18 16 20 14 20
mean(NotasAlumnosAprobados)
## [1] 17.9

EJERCICIO 6

Utilizando la base de datos interna mtcars, llevar esta base a Power BI y realizar un Dashboard de su preferencia que conteste a una pregunta de su interés.

Para resolver este ejercicio hay que tener en cuenta que el software R trae de manera predeterminada una base de datos llamada “mtcars”, la cual tiene información sobre diferentes automóviles y sus características.

El primer paso para llevar esta base de datos “mtcars” a PowerBi es exportarla. Para esto se utiliza el siguiente código:

“write.csv(mtcars,”mtcars.csv”, row.names = TRUE)”

Donde write.csv: es la función para escribir la base de datos como un archivo csv.

mtcars: base de datos

“mtcars.csv”: el nombre del archivo csv que se creará.

row.names = TRUE: indica a R que el archivo csv tambien contenga las filas como una columna adicional, en este caso sería la columna “Autos”.

Por último, hay que aclarar que el archivo .csv de la base de mtcars se va a descargar en donde se tenga establecido el directorio “setwd()”.

EJERCICIO 7

Leer el fichero paro.csv (ARCHIVO ADJUNTO) usando la función read.table. Comprobar que está correctamente importado usando head, tail, nrow, summary, etc.

datos <- read.table("paro.csv", header = TRUE)
head(datos)
tail(datos)
nrow(datos)
## [1] 8320
summary(datos)
##     Gender           Provinces           Periodo           Situation        
##  Length:8320        Length:8320        Length:8320        Length:8320       
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##                                                                             
##      value       
##  Min.   :   0.0  
##  1st Qu.:  14.4  
##  Median :  61.9  
##  Mean   : 120.1  
##  3rd Qu.: 144.7  
##  Max.   :1828.9  
##  NA's   :1

EJERCICIO 8

Repetir el ejercicio anterior eliminando la opción header = TRUE. Examinar el resultado y comprobar que, efectivamente, los datos no se han cargado correctamente.

datos1 <- read.table("paro.csv")
summary(datos1)
##       V1                 V2                 V3                 V4           
##  Length:8321        Length:8321        Length:8321        Length:8321       
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##       V5           
##  Length:8321       
##  Class :character  
##  Mode  :character

Se observa que el error se encuentra en el número de datos, ya que cuando el header = TRUE la primera fila de datos se considera el nombre de la columnas, pero cuando es FALSE o no hay, la primera fila de datos se considera parte de los datos.

EJERCICIO 9

Leer algún fichero de datos de su interés y repetir el ejercicio anterior.

read.table("personas.csv", sep = ",", header = TRUE)
read.table("personas.csv", sep = ",")

EJERCICIO 10

En read.table y sus derivados se puede indicar, además de ficheros disponibles en el disco duro, la URL de uno disponible en internet. Pruebese a leer directamente el fichero disponible en https://datanalytics.com/uploads/datos_treemap.txt. Nota: es un fichero de texto separado por tabuladores y con nombres de columna.

link <- "https://datanalytics.com/uploads/datos_treemap.txt"

read.table(link, header = TRUE)

EJERCICIO 11

Alternativamente, si se quiere leer un fichero remoto, es posible descargarlo directamente desde R.

download.file(link, destfile = “datos.txt”, method = “auto”)

read.table("datos.txt", header = TRUE)