| ### EJERCICIO 1 ### |
| # Leer y probar las siguientes funciones |
x <- c(12, 10, 25)
#ls() sin argumentos, da el vector de nombres de variables definidas. ls() ### Muestra las variables definidas: “x”
#a:b crea vector de enteros consecutivos, de a a b. 1:5 ### Crea vector de enteros: 1, 2, 3, 4, 5
#c(…) da un vector con los argumentos … concatenados. c(12, 10, 25) ### Concatena los números en un vector
#length(x) da la longitud del vector argumento x. length(x) ### Longitud: 3
#sum(…) SUMa las componentes de los argumentos. sum(x) ### Suma: 12 + 10 + 25 = 47
#prod(…) PRODucto de las componentes de los argumentos. prod(x) ### Producto: 12 * 10 * 25 = 3000
#sort(x) da el vector argumento x reordenado de manera creciente. sort(x) ### Orden creciente: 10, 12, 25
#sort(x,decreasing=TRUE) lo mismo (pero decreciente). sort(x, decreasing=TRUE) ### Orden decreciente: 25, 12, 10
#min(…) da el valor MÍNimo de los argumentos. min(x) ### Mínimo: 10
#max(…) da el valor MÁXimo de los argumentos. max(x) ### Máximo: 25
#which(x) da el vector de “posiciones” donde x es TRUE. which(x > 11) ### Posiciones donde x es mayor a 11 (posiciones 1 y 3)
y <- c(1, 2, 5) y
x + y ### Suma componente a componente: 13, 12, 30 x - y x * y ### Multiplica componente a componente: 12, 20, 125 x / y x ^ y
sqrt(x) ### Raíz cuadrada de cada uno log(x) exp(x) sin(x) abs(x)
x < 20 ### Compara cada uno x == y x > y x <= y x >= y x != y
x & y ### Operador lógico AND x | y xor(x > y, x < y) !(x > y)
| ### EJERCICIO 2 ### |
| # Realizar las siguientes sumas: |
sum(1:1000)
sum(2^(0:10))
| ### EJERCICIO 3 ### |
| # Crear un vector con 20 nombres de alumnos |
alumnos <- c(“Ana”, “Luis”, “Pedro”, “María”, “José”, “Carlos”, “Andrea”, “Sofía”, “Miguel”, “Valeria”, “Daniel”, “Paula”, “Jorge”, “Fernanda”, “David”, “Camila”, “Diego”, “Lucía”, “Kevin”, “Isabel”)
alumnos
length(alumnos)
which(grepl(“a”, alumnos, ignore.case = TRUE))
| ### 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 |
notas <- c(12, 9, 2, 8, 6, 6, 10, 6, 10, 18, 11, 12, 17, 14, 15, 16, 7, 18, 19, 19) notas
length(notas)
sum(notas)
mean(notas)
which(notas>7)
sort(notas)
sort(notas, decreasing = TRUE)
max(notas)
which.max(notas)
| ### EJERCICIO 5 ### |
| # A partir de los vectores alumnos y notas definidos |
notas <- c(1,9,4,6,3,4,8,6,3,10,9,5,10,5,1,8,9,8,10,2) notas[1:10]
sum(notas[1:10])
alumnos <- c(“Maria”,“Juana”,“Juliana”,“Marco”,“Polo”,“Seis”,“Siete”,“Ocho”,“Nueve”, “JAIME”,“Once”,“Doce”,“SAYRI”,“14”,“Juana”,“16”,“17”,“18”,“Ale”,“Andrea”) length(alumnos)
sum(notas)
aprobados <- which(notas >= 7) aprobados <- length(aprobados) aprobados
totalalumnos <- 20 porcentaje <- (aprobados/totalalumnos)*100 cat(porcentaje, “%”)
cat(“La nota máxima es:”,max(notas)) cat(“La nota mínima es:”,min(notas))
f <- which(notas==10) cat(“La nota max es”,notas[f],” del alumno “,alumnos[f])
G <- which(notas==1) cat(“La nota min es”,min(notas),” de los alumnos “,alumnos[G])
notaprobados <- notas[notas>=7] notaprobados
promaprob <- mean(notaprobados) promaprob
| ### 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 |
datos_iris <- iris
datos_iris$id <- 1:nrow(datos_iris)
write.csv(datos_iris, “iris_dashboard.csv”, row.names = FALSE, fileEncoding = “UTF-8”)
message(“Archivo ‘iris_dashboard.csv’ generado correctamente.”)
| ### EJERCICIO 7 ### |
| # Lee el fichero paro.csv usando la función read.table. |
datos <- read.table(“paro.csv”, header = TRUE, sep = “)
head(datos)
tail(datos)
nrow(datos)
summary(datos)
str(datos)
| ### EJERCICIO 8 ### |
| # Repite el ejercicio anterior eliminando la opción header = TRUE. |
datos_sin_header <- read.table(“paro.csv”, sep = “)
head(datos_sin_header)
| ### EJERCICIO 9 ### |
| # Repite el ejercicio anterior eliminando la opción header = TRUE. |
datos_deniro <- read.csv(“deniro.csv”, header = TRUE, fill = TRUE)
head(datos_deniro)
tail(datos_deniro)
nrow(datos_deniro)
summary(datos_deniro)
str(datos_deniro)
datos_sin_header <- read.table(“paro.csv”, header = FALSE, sep = “)
head(datos_sin_header)
| ### 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. |
url_datos <- “https://datanalytics.com/uploads/datos_treemap.txt”
datos_remotos <- read.table(url_datos, header = TRUE, sep = “)
head(datos_remotos) tail(datos_remotos) nrow(datos_remotos) summary(datos_remotos) str(datos_remotos)
| ### EJERCICIO 11 ### |
| # Consulta la ayuda de download.file para bajarte al disco duro el fichero del ejercicio anterior (EJERCICIO 4) y leerlo después. |
url_remota <- “https://datanalytics.com/uploads/datos_treemap.txt” nombre_local <- “datos_treemap_descargado.txt”
download.file(url = url_remota, destfile = nombre_local)
datos_locales <- read.table(nombre_local, header = TRUE, sep = “)
head(datos_locales)