EJERCICIO 1:Leer y probar las funciones:

vector1 <- c(1, 2, 3) vector2 <- c(“Lila”, “Rosa”, “Cesleste”) # función ls() ls()

función a:b

digitos <- 0:9 print(digitos)

función c(…)

vector3 <- c(2,7,8,4,6)

función length(X)

length(vector3)

función sum(…)

sum(vector3)

función prod(…)

prod(vector3)

#función sort(x) sort(vector3)

función sort(x, decresing=TRUE)

sort(vector3, decreasing = TRUE)

función min(…)

min(vector3)

función max(…)

max(vector3)

#función which(x) vector4 <- c(FALSE, TRUE, TRUE, FALSE, TRUE, FALSE) posicion <- which(vector4) print(posicion)

Operadores matemáticos

+, -, *, /, ^,

3+2 3-2 3*2 9/3 3^{2}

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

raíz cuadrada

sqrt(16) # logaritmo natural de 5 log(5) # logaritmo base 5 de 25 log(25, 5) # resulta e^2 exp(2) # seno de 90° (expresado en radianes) sin(pi/2) # valor absoluto de -10 abs(-10)

<, ==, >, <=, >=, != operadores de comparación

x1 <- 6 x2 <- 3 x1 < x2 x1 == x2 x1 > x2 x1 >= x2 x1 <= x2 x1 != x2

&, |, xor(), ! operadores lógicos (and, or, or exclusivo, not)

x1 < 4 & x2 > 8 x2 < 8 | x1 > 10 # Con cualquier número diferente de 0, se considera TRUE, y 0 es FALSO, entonces: xor(x1, x2) # el resultado es FALSE proque x1 y x2 son valores distintos de 0 y se consdideran TRUE !x1 # el resultado es FALSE porque esta función devuelve lo contrario, y como x1 es un valor distinto de 0 y es considerado TRUE, devuelve FALSE.

EJERCICIO 2: Realiza las siguientes sumas:

1+2+3+…+1000, 1+2+3+…+1000

Realizar una secuencia que contenga números del 1 al 1000

x <- 1:1000
# Calcular la suma de la secuencia s1 <- sum(x) # Imprimir el resultado de la suma dos veces, separados por una coma print(paste(s1,“,”, s1))

1+2+4+8+16+…+1024, 1+2+4+8+16+…+1024

Generar una secuencia que contenga números del 1 al 10

n <- 0:10 # Calcular 2 elevado a cada número de la secuencia y sumar s2 <-sum(2^n) # Mostrar la suma dos veces, separadas por una coma print(paste(s2,“,”, s2))

EJERCICIO 3: El vector alumnos representa los nombres de una serie de alumnos.

Crear el vector alumnos con 20 nombres

alumnos <- c(“Elena”, “Lupe”, “Atreus”, “Marco”, “Felipe”, “Vinicius”, “Luka”, “Layla”, “Selena”, “Robin”, “John”, “Luis”, “Charles”, “Max”, “Lucia”, “Adrian”, “Maya”,“Peter”, “Miguel”, “Antonela”)

1. Se Visualíza los 20 nombres de los alumnos que conforman el vector

print(alumnos)

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

#Indica de cuantos elementos esta compuesto el vector alumnos length(alumnos)

3. ¿En qué posiciones el vector alumnos está la letra “A” (considere solo A mayúscula?

#Muestra las posiciones de los alumnos considerando solo la letra “A” mayúscula posiciones <- which(grepl(“A”, alumnos)) print(posiciones)

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(7, 8, 5, 6, 2, 4, 1, 3, 0, 5, 6, 8, 9, 10, 10, 8, 7, 9, 4, 5)

1. Visualizalo en pantalla

Mostrar todas las notas en la pantalla

print(notas)

2. ¿Cuántas componentes tiene?

Contar el total de número de notas que hay en la lista

length(notas)

3. ¿Cuánto suman todas las notas?

Sumar todas las notas de la lista

sum(notas)

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

Calcular el promedio de todas las notas

mean(notas)

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

Encontrar las posiciones de las notas que son mayores que 7

notas_mayor7 <- which(notas > 7) # Mostrar las posiciones en la pantalla print(notas_mayor7)

6. Visualiza las notas ordenadas de menor a mayor

Ordenar las notas de menor a mayor

notas_ascendente <- sort(notas) # Mostrar las notas ordenadas en la pantalla print(notas_ascendente)

7. Visualiza las notas ordenadas de mayor a menor

Ordenar las notas de mayor a menor

notas_descendente <- sort(notas, decreasing = TRUE) # Mostrar las notas ordenadas en la pantalla print(notas_descendente)

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

Encontrar la nota más alta en la lista

max(notas)

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

Encontrar la posición de la nota más alta en la lista

pos_nota_max <- grep(max(notas), notas) # Mostrar la posición en la pantalla print(pos_nota_max)

EJERCICIO 5: A partir de los vectores alumnos y notas definidos:

1. Visualiza las notas de los 10 primeros alumnos

#Realizar una secuencia comprendida desde el 0 hasta el 10 notas_primeros_10 <- notas[1:10] #Indica las notas de los primeros 10 alumnos print(notas_primeros_10)

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

#Realizar una secuencia comprendida desde el 0 hasta el 10 suma_notas_10prim <- sum(notas[1:10]) print(suma_notas_10prim)

3. ¿Cuántos alumnos hay en total?

#Declarar las variables a utilizar total_alumnos <- length(alumnos) #Calcular la suma de los 10 primeros números print(total_alumnos)

4. Suma las notas de los alumnos

#Proporciona la suma total de notas de los alumnos sum(notas)

5. ¿Cuántos alumnos han aprobado? Aprueba con notas >=7

#Declarar la variable la cual indica que se aprueba con una nota mayor o igual a 7. aprobados <- notas >= 7 #Se indica que operación se necesita num_aprobados <- sum(aprobados) #Indica el número de alumnos que aprobaron print(num_aprobados)

6. ¿Qué porcentaje de alumnos han aprobado?

#Se describe las variables a utilizar y la operación correspondiente porcentaje_aprobados <- (num_aprobados/total_alumnos) * 100 #Proporciona el porcentaje de los alumnos que han aprobado print(paste(porcentaje_aprobados,“%”))

7. ¿Cuáles han sido las notas máxima y mínima?

#Se define la variable (mínimo) nota_min <- min(notas) print(paste(“Nota mínima con la que aprobó:”, nota_min)) #Se define la variable (máximo) nota_max <- max(notas) #Calcula la nota máxima con la que aprobó entre los alumnos print(paste(“Nota máxima con la que aprobó:”, nota_max))

8. ¿De qué alumnos son la máxima y mínima notas?

#Compara las notas con las notas mínimas posicio_min <- which(notas == nota_min) #Busca el nombre del alumno con una nota mínima nombre_alumno_min <- alumnos[posicio_min] #Indica cuál es el alumno que posee la nota mínima print(paste(“Alumnos con la nota mínima (”,nota_min,“):”, paste(nombre_alumno_min, collapse = “,”), sep = ““))

#Compara las notas con las notas máximas posicio_max <- which(notas == nota_max) ##Busca el nombre del alumno con una nota máxima nombre_alumno_max <- alumnos[posicio_max] #Indica cuál es el alumno que posee la nota máxima print(paste(“Alumnos con la nota máxima (”,nota_max,“):”, paste(nombre_alumno_max, collapse = “,”), sep = ““))

9. Nota media de alumnos, teniendo en cuenta sólo a los que han aprobado.

#Se define la variable la cual indica que se aprueba con una nota mayor o igual a 7 nota_aprobado <- notas[notas >= 7] #Calcula la nota media de los alumnos que han aprobado nota_media_aprob <- mean(nota_aprobado) #Proporciona el resultado de la nota media print(nota_media_aprob)

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.

Cargar la librería writexl para guardar el archivo en formato Excel

library(writexl)

Guardar la base de datos interna mtcars en un archivo Excel llamado “mtcars.xlsx”

write_xlsx(mtcars, “mtcars.xlsx”)

EJERCICIO 7: Lee el fichero paro.csv (ARCHIVO ADJUNTO) usando la función read.table. Comprueba que está correctamente importado usando head, tail, nrow, summary, etc. Para leer la tabla necesitarás leer con cierto detenimiento (read.table).

Mostrar el directorio de trabajo actual para verificar la ubicación actual

getwd() # Cambiar el directorio de trabajo al lugar donde está el archivo setwd(“D:/EJERCICIO_READ_CSV”)

Leer el archivo paro.csv usando read.table

datos1 <- read.table(“paro.csv”,sep = “, header = TRUE) datos1

Muestra las primeras filas de los datos

head(datos1) # Muestra las últimas filas de los datos tail(datos1) # Muestra el número de filas en los datos nrow(datos1) # Muestra un resumen estadístico de los datos summary(datos1)

EJERCICIO 8: Repite el ejercicio anterior eliminando la opción header = TRUE. Examina el resultado y comprueba que, efectivamente, los datos no se han cargado correctamente.

Cargar el archivo “paro.csv” sin la opción header = TRUE

datos1_mal <- read.table(“paro.csv”,sep = “)

Mostrar los datos cargados para verificar si se han cargado correctamente

datos1_mal

EJERCICIO 9: Lee algún fichero de datos de tu interés y repite el ejercicio anterior (CADA GRUPO USARÁ SU ARCHIVO DE PREFERENCIA).

Buscar la libreria del archivo de excel seleccionado.

library(readxl) # Leer el archivo de exel “BD_VENTAS.xlsx” datos2 <- read_excel(“BD_VENTAS.xlsx”) # Ejecutar datos2 # Comprobar la correcta ejecución del archivo head(datos2) tail(datos2) nrow(datos2) summary(datos2)

EJERCICIO 10: En read.table y sus derivados puedes indicar, además de ficheros disponibles en el disco duro, la URL de uno disponible en internet. Prueba 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.

GuardaR la URL del archivo en una variable

url <- “https://datanalytics.com/uploads/datos_treemap.txt

LeeR el archivo directamente desde la URL

sep = “ indica que el archivo está separado por tabuladores

header = TRUE indica que el archivo tiene nombres de columna en la primera fila

datos3 <- read.table(url, sep = “, header = TRUE)

Mostrar los datos cargados para verificar que se han importado correctamente

datos3

EJERCICIO 11: Alternativamente, si quieres leer un fichero remoto, puedes descargarlo directamente desde R. Consulta la ayuda de download.file para bajarte al disco duro el fichero del ejercicio anterior (EJERCICIO 10) y leerlo después.

Del EJERCICIO 10 se puede descargar el documento con la función download.file

Proporcionar la dirección url del archivo

url <- “https://datanalytics.com/uploads/datos_treemap.txt

Establecer la ruta en la que se va argumentar el archivo

ruta <- “D:/EJERCICIO_READ_CSV/datos_treemap.txt”

Ejecutar la descarga

download.file(url, ruta)