[Lo que se encuentra entre corchetes [] son instrucciones o preguntas, que luego debes eliminar antes de producir el documento final en PDF] [Seguir el formato que se describe a continuación en R Markdown, para luego producir un documento Word y editar, y luego pasarlo a PDF para subirlo a MOODLE.]
[Escribir uno o dos párrafos de información de trasfondo sobre la
variabilidad poblacional y sus correlativos (posibles causas):
- No más de 500 palabras
- Con al menos dos citas (incluya en el texto: autor, año) de
publicaciones científicas]
[Escribir un párrafo sobre información de la especie y su producción de semillas]
[Formular preguntas e hipótesis sobre los siguientes asuntos:]
[- variación en las medidas (estadísticas descriptivas) de las variables medidas (longitud, masa), dentro de cada población (árbol).]
[- distribución de los valores de las variables (histogramas): para cada árbol y en conjunto.]
[- diferencias entre las poblaciones (árboles) en la longitud y masa de las semillas.]
[- diferencias entre las poblaciones en el número de semillas por fruto.]
[- relación entre el número de semillas por fruto y la longitud y masa de las semillas.]
[- relación entre la masa y la longitud de las semillas.]
[Las hipótesis deben contener una premisa (dado que…) y la predicción (espero que…).]
[Completar y escribir la metadata de los datos de esta actividad.]
[Aquí les describo los procedimientos para obtener los resultados que debe analizar]
[Activación de paquetes]
[Se necesitan los siguientes paquetes y una vez que están instalados en el sistema deben activarse con la función library:]
library(ggplot2)
library(dplyr)
library(multcomp) # para Tukey
library(EnvStats)
library(gt)
[Cargar datos al sistema]
[Debes descargar los datos desde Google Sheets en formato .csv. El archivo es:] LabEcoPob variacion poblacional 20220819
[El archivo de datos debe estar en el directorio en que estás trabajando con el archivo R Markdown.]
semillas <- read.csv("data/LabEcoPob_variacion_poblacional_2022.csv")
head(semillas)
[Usando function y agrupando por árbol]
#función para definir estadísticos a calcular
mystats <- function(x){
m <- mean(x)
md <- median(x)
n <- length(x)
s <- sd(x)
se <- sd(x)/sqrt(length(x))
skew <- sum((x-m)^3/s^3)/n
kurt <- sum((x-m)^4/s^4)/n - 3
return(c(n=n, mean=m, median=md, stdev=s, serror=se, skew=skew, kurtosis=kurt))
}
# función sapply con split para aplicar la función a datos de cada árbol
tabla.estad <- sapply(split(semillas$long.mm, semillas$arbol), mystats)
colnames(tabla.estad) <- c("Arbol1", "Arbol2")
rownames(tabla.estad) <- c("n", "Media", "Mediana", "Desv. Est.", "Error Est.", "Sesgo", "Curtosis")
tabla.estad
[Crear una tabla de las estadísticas descriptivas para cada población, donde las filas sean los estadísticos y las columnas las dos poblaciones de semillas.]
table1 <- gt(
as.data.frame(tabla.estad),
rownames_to_stub = TRUE
) %>%
tab_header(
title = md("Tabla 1. [escribir leyenda]")
) %>%
tab_stubhead(label = "Estadístico"
) %>%
cols_label(
Arbol1 = md("Árbol 1"),
Arbol2 = md("Árbol 2")
) %>%
fmt_number(
columns = c(Arbol1,Arbol2),
decimals = 2)
table1
[INFORME: hacerlo para masa]
[* reemplazar long.mm con masa.g donde corresponda]
[todas las gráficas deben llevar su leyenda explicativa en la parte inferior y con número secuencial]
# histograma y curva normal para cada arbol; variable longitud
# árbol 1
arbol1 <- semillas %>%
filter(arbol == "1")
msa1 <- semillas %>%
filter(arbol == "1") %>%
summarise(means = mean(long.mm), sd=sd(long.mm))
ggplot(arbol1, aes(x=long.mm)) +
geom_histogram(aes(y=..density..), position="identity", binwidth=.25, color="blue", fill="gray") +
stat_function(fun = dnorm, color="blue", size=1, args=list(mean=msa1$means, sd=msa1$sd)) +
labs(x="Longitud semilla, mm", y="densidad") +
annotate("text", x = 11, y = 1, label = "Arbol 1")
# árbol 2
arbol2 <- semillas %>%
filter(arbol == "2")
msa2 <- semillas %>%
filter(arbol == "2") %>%
summarise(means = mean(long.mm), sd=sd(long.mm))
ggplot(arbol2, aes(x=long.mm)) +
geom_histogram(aes(y=..density..), position="identity", binwidth=.25, color="green", fill="gray") +
stat_function(fun = dnorm, color="green", size=1, args=list(mean=msa2$means, sd=msa2$sd)) +
labs(x="Longitud semilla, mm", y="densidad") +
annotate("text", x = 11, y = 1, label = "Arbol 2")
#las dos curvas normales juntas
ggplot(semillas, aes(x=long.mm)) +
stat_function(fun = dnorm, args=list(mean=msa1$means, sd=msa1$sd), aes(colour = "Arbol 1"), size=1.5) +
stat_function(fun = dnorm, args=list(mean=msa2$means, sd=msa2$sd), aes(colour = "Arbol 2"), size=1.5) +
scale_colour_manual("T. populnea", values = c("blue","green")) +
labs(x="Longitud semilla, mm", y="densidad")
[INFORME: hacerlo para masa ambos árboles]
long <- ggplot(semillas, aes(x = arbol, y=long.mm, group=arbol)) + geom_boxplot(fill="cornflowerblue") +
stat_summary(aes(group=arbol), fun=mean, colour="darkred", geom="point", shape=18, size=3) +
labs(x = "Arbol", y = "Longitud semilla, mm")
long
[INFORME: hacerlo para masa]
#Q-Q plot
EnvStats::qqPlot(semillas$long.mm, add.line = TRUE, points.col = "blue", line.col = "red")
#prueba Shapiro-Wilk
shapiro.test(semillas$long.mm)
bartlett.test(long.mm ~ arbol, data=semillas)
[INFORME hacerlo para masa]
[* cambiar variable long.mm a masa.g]
analisis <- aov(long.mm ~ as.factor(arbol), data=semillas)
summary(analisis)
[INFORME: hacerlo para masa]
[* cambiar nombre de variable long.mm a masa.g]
kruskal.test(long.mm ~ arbol, data = semillas)
[INFORME: hacerlo para masa]
[* cambiar nombre de variable long.mm a masa.g]
library(car)
# regresión lineal simple
rls_1 <- lm(long.mm ~ masa.g, data=semillas)
summary(rls_1)
plot(long.mm ~ masa.g, data=semillas)
abline(rls_1)
#residuales
spreadLevelPlot(rls_1)
rls_2 <- lm(long.mm ~ n.sem.fruto, data=semillas)
summary(rls_2)
plot(long.mm ~ n.sem.fruto, data=semillas)
abline(rls_2)
#residuales
spreadLevelPlot(rls_2)
[INFORME: hacerlo para masa ]
[__Para cada uno de los resultados obtenidos (gráficas y tabla), escribir una corta descripción (no discusión0) de lo obtenido]
[Discutir los resultados obtenidos:
- comparar con la literatura científica,
- determinar si responden las preguntas planteadas y
- verificar si prueban o contradicen las hipótesis planteadas]
[Bibliografía en formato completo de la literatura citada en la introducción y discusión]