# Ejercicio 1.1
x <- c("Lunes", "Martes", "Miércoles")
y <- c(F, T, F, T, T, T)
z <- c(2+3i, 1i, sqrt(2i))
str(x)
str(y)
str(z)
str(c(x, y))
str(c(z, y))
# Ejercicio 1.2
tabla <- data.frame(variable1 = c(1, 2, 3, 4, 5),
variable2 = c("A", "B", "C", "D", "E"))
vector_a <- c(1, 2, 3)
lista_a <- list(lista1 = vector_a,
lista2 = tabla)
lista_a[[2]][4, 2]
# Ejercicio 1.3
ej13 <- c(108.5, 75.3, 67.5, 93.6, 153.8, 113.9, NA, 133.8, 47.8, 71.1, NA)
mean(ej13, na.rm = T)
median(ej13, na.rm = T)
modeest::mlv(ej13, method = "mfv", na.rm = T) # el comando :: permite llamar rápidamente funciones específicas de una lib.
quantile(ej13, na.rm = T)
sd(ej13, na.rm = T)
var(ej13, na.rm = T)
# Ejercicio 1.4
data("iris")
summary(iris)
# Ejercicio 1.5
library(palmerpenguins)
library(flextable)
data(penguins)
tabla_frecuencia <- fdt(penguins$bill_depth_mm, na.rm = T)
ft1 <- flextable(tabla_frecuencia)
save_as_docx("Tabla 1" = ft1,
path = "elpath/quecorresponda/entu/ordenador/tabla.docx")Materiales y Recursos
Datos
Las tablas de datos complementarias que usaremos en el transcurso del curso están disponibles aquí
Clases grabadas
Haz click aqui para acceder al repositorio donde se encuentran las clases grabadas (enlace actualizado al 06.04)
Ejercicios resueltos
Módulo 1
Módulo 2
# Ejercicio 2.1
library(FielDHub)
trt <- c("cepa_1",
"cepa_2",
"cepa_3",
"cepa_4",
"cepa_5",
"cepa_6")
trt_lista <- data.frame(TREATMENT = trt, REP = 4)
dca.ej21 <- CRD(t = NULL,
reps = NULL,
plotNumber = 101,
seed = 1460,
locationName = "Quito",
data = trt_lista)
dca.ej21$fieldBook
plot(dca.ej21)
# Ejercicio 2.2
dbca.ej22 <- RCBD(t = NULL,
reps = 3,
l = 1, # número de locaciones
plotNumber = 101,
locationNames = "Quito",
seed = 123,
data = trt_lista)
dca.ej22$fieldBook
plot(dca.ej22)
# Ejercicio 2.3
FACTORS <- rep(c("CEPA", "N", "P"), c(3, 3, 3))
LEVELS <- c("A", "B", "C", "D", "N1", "N2", "N3", "P1", "P2", "P3")
data_factorial <- data.frame(FACTOR = FACTORS, LEVEL = LEVELS)
# DCA
dfc.dca.ej23 <- full_factorial(setfactors = NULL,
reps = 3,
l = 1,
type = 1,
plotNumber = 101,
seed = 1460,
locationNames = "Quito",
data = data_factorial)
dfc.dca.ej23$fieldBook
plot(dfc.dca.ej23)
# DBCA
dfc.dbca.ej23 <- full_factorial(setfactors = NULL,
reps = 3,
l = 1,
type = 2,
plotNumber = 101,
seed = 1460,
locationNames = "Quito",
data = data_factorial)
dfc.dbca.ej23$fieldBook
plot(dfc.dbca.ej23)
# Ejercicio 2.4
setwd("elpath/detudirectorio/detrabajo/entucomputadora")
library(openxlsx)
write.xlsx(dca.ej21$fieldBook, file = "ej21.xlsx")
write.xlsx(dca.ej22$fieldBook, file = "ej22.xlsx")
write.xlsx(dfc.dca.ej23$$fieldBook, file = "ej23_dca.xlsx")
write.xlsx(dfc.dbca.ej23$$fieldBook, file = "ej23_dbca.xlsx")Módulo 3
# Ejercicio 3.1
library(palmerpenguins)
library(ggplot2)
library(viridis)
library(ggsci)
data(penguins)
ggplot(penguins,
aes(x = flipper_length_mm, y = body_mass_g, colour = species)) +
geom_point(alpha = 0.7,
size = 3) +
facet_wrap(~sex) +
scale_color_viridis(discrete = T, option = "A") # cambia aquí la opción A por las letras B, C, D, E, F, G, y H para ver las otras paletas
ggplot(penguins,
aes(x = flipper_length_mm, y = body_mass_g, colour = species)) +
geom_point(alpha = 0.7,
size = 3) +
facet_wrap(~sex) +
scale_color_npg() # cambia aquí la terminación "npg" por aaas, nejm, simpsons, rickandmorty para ver otras paletas
p1 <- ggplot(penguins,
aes(x = flipper_length_mm, y = body_mass_g, colour = species)) +
geom_point(alpha = 0.7,
size = 3) +
facet_wrap(~sex) +
scale_color_npg()
# Para cambiar el estilo en general del grafico, con el objeto p1 generado, agrega el tema poniendo + "estilo". Algunos estilos de ggplot2: theme_bw(), theme_gray(), theme_dark(), theme_minimal(), theme_classic(). Ejemplo:
p1 + theme_dark()
# Ejercicio 3.2
sub_penguins <- na.omit(penguins)
ggplot(sub_penguins,
aes(y = body_mass_g, x = species, fill = species)) +
geom_boxplot(outlier.fill = "red",
outlier.shape = 23) +
facet_grid(~sex~island) +
theme(legend.position = "none")
# Ejercicio 3.3
outliers <- boxplot(bill_depth_mm ~ species, data = penguins, plot = F)$out
x <- penguins
x <- x[-which(x$bill_depth_mm %in% outliers), ]
boxplot(bill_depth_mm ~ species, data = x)
# Ejercicio 3.4
# no olvides especificar el directorio de trabajo con setwd()
library(readxl)
rot_berlin <- read_excel("rotXLS.xlsx")
rot_berlin$week <- as.factor(rot_berlin$week)
boxplot(rot_berlin$cases~rot_berlin$week) # realizamos el boxplot
outs <- boxplot(rot_berlin$cases~rot_berlin$week)$out
x <- rot_berlin
x <- x[-which(x$cases %in% outs), ]
boxplot(cases ~ week, data = x) # nota como extraer un set de outliers genera mas outliers
# Ejercicio 3.5
library(GGally)
matriz <- rot_berlin[, c(2, 5:12)]
ggpairs(matriz)
# Ejercicio 3.6
# Este es un ejemplo de cambiar una tabla de formato largo a ancho
# para usar la funcion pivot_longer de tidyr, debemos usar una variable categorica sobre la cual ordenar
# los valores del resto de columnas en una sola.
# Podemos usar indistintamente la semana o la fecha
library(tidyr)
rot_berlin_pivot <- rot_berlin[, c(2, 3, 5:12)]
rot_berlin_pivot <- rot_berlin_pivot %>%
pivot_longer(!week,names_to = "variables", values_to = "valores")
ggplot(rot_berlin_pivot, aes(x = valores)) +
geom_histogram()+
facet_grid(~variables, scales = "free")
# Ejercicio 3.7
# Guarda los varios de los graficos de los ejercicios anteriores en objetos y genera un grafico combinado con patchwork
# Para exportar los graficos a png y pdf guarda tu arreglo de graficos en otro objeto y exportalos con la funcion
# ggsave de ggplot2. Repite el proceso cambiando los argumentos width y height hasta obtener un grafico de tu agrado
# un ejemplo de como se veria tu linea de codigo para exportar el grafico, asumiendo que guardaste el arreglo de patchwork
# bajo el nombre: plot_final esta a continuacion:
ggsave("plot.pdf", plot_final, width = 100, height = 200)Recursos extras
Libros (gratis)
Learning Statistics with R de Danielle Navarro: excelente libro para comenzar el viaje de aprendizaje de R. Explica conceptos estadísticos de una manera sencilla y evitando complicadas fórmulas tanto como puede.
Modern Statistics with R de Måns Thulin: es un ebook que abarca a mayor profundidad aspectos de operaciones con bases de datos y modelos estadísticos más complejos que los que cubrimos en el curso.
RStudio para Estadística Descriptiva en Ciencias Sociales de Giorgio Boccardo Bosoni y Felipe Ruiz Bruzzone: es un ebook que contiene buena información en español sobre R. Al menos en para lo que es la manipulación de objetos y estadísticos descriptivos.