[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.]

INTRODUCCION

[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]

Preguntas e hipótesis

[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…).]

METADATA

[Completar y escribir la metadata de los datos de esta actividad.]

RESULTADOS

[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)

Estadísticas Descriptivas

[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]

3. Histogramas con curva normal, por árbol

[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")

4. Curvas de densidad (normales) juntas

#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]

  • [luego de hacer la parte 3. y 4. para longitud, hacerlo para masa de ambos árboles]
  • [reemplazar long.mm con masa.g donde corresponda]
  • [cambiar nombres de objetos: masa.arbol1, masa.arbol2, masa.msa1, masa.msa2]
  • [utilizar bidwidth = 0.01 o probar otros]
  • [en la última línea de cada árbol (annotate) cambiar: x = 0.10 y y = 10]
  • [cambiar nombre del eje x en labs]

5. Box & Whisker plot para cada variable

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]

  • [cambiar nombre de variable __long.mm_ a masa.g]
  • [cambiar nombre del eje y]

Pruebas de hipótesis

1. Pruebas de normalidad para los datos de longitud

#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)

2. Prueba de homogeneidad de varianza

bartlett.test(long.mm ~ arbol, data=semillas)

[INFORME hacerlo para masa]

[* cambiar variable long.mm a masa.g]

3. ANOVA para el efecto de poblaciones (árboles)

analisis <- aov(long.mm ~ as.factor(arbol), data=semillas)
summary(analisis)

[INFORME: hacerlo para masa]

[* cambiar nombre de variable long.mm a masa.g]

4. Prueba no-paramétrica para diferencia entre árboles

kruskal.test(long.mm ~ arbol, data = semillas)

[INFORME: hacerlo para masa]

[* cambiar nombre de variable long.mm a masa.g]

5. Regresión longitud ~ masa

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)

6. Regresión masa/longitud vs. cantidad de semillas

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 ]

  • [cambiar nombre de variable long.mm a masa.g]
  • [cambiar rls_2 a rls_3]

[__Para cada uno de los resultados obtenidos (gráficas y tabla), escribir una corta descripción (no discusión0) de lo obtenido]

DISCUSION

[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]

REFERENCIA

[Bibliografía en formato completo de la literatura citada en la introducción y discusión]