---
title: 'Práctica 3. Estadística Descriptiva con R'
subtitle: 'Creación de Funciones. Gráficos con ggplot2'
output:
html_document:
highlight: pygments
theme: cerulean
toc: yes
toc_float: yes
word_document:
toc: yes
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE, eval=TRUE, message=FALSE)
```
\
\
\
\
# Preliminares: carga de las librerías que utilizaremos en esta práctica, y lectura del archivo de datos.
```{r}
library(readxl)
library(tidyverse)
library(flextable)
library(moments)
```
```{r}
tortugas <- read_csv2("tortugas.csv")
```
\
\
# 1. Descripción de variables usando listas de funciones. Presentación con flextable().
\
Recupera el código utilizado en la práctica 2 para describir una variable numérica mediante una lista de funciones descriptivas: Número de observaciones, media, desviación típica, asimetria, curtosis, mínimo, máximo y Mediana. Utiliza dicho código para describir las variables LCC y ACC.
\
* Describimos LCC:
```{r}
listaFunciones=list(n=length,
media=mean,
sd=sd,
asimetria=skewness,
curtosis=kurtosis,
min=min,
mediana=median,
max=max)
tortugas %>%
summarise_at(vars(LCC), listaFunciones) %>%
mutate(Variable="LCC") %>%
select(last_col(),everything()) %>%
flextable() %>%
fontsize(size=12,part="all") %>%
colformat_num(j=-2,digits=2) %>%
autofit()
```
\
\
* Describimos ACC del mismo modo:
```{r}
tortugas %>%
summarise_at(vars(ACC), listaFunciones) %>%
mutate(Variable="ACC") %>%
select(last_col(),everything()) %>%
flextable() %>%
fontsize(size=12,part="all") %>%
colformat_num(j=-2,digits=2) %>%
autofit()
```
\
\
\
\
# 2. Valores perdidos: uso de `na.rm=TRUE`.
\
Calcula el número medio de crías emergidas
\
```{r}
tortugas %>%
summarize(mean(crias_Emerg,na.rm=TRUE))
```
\
\
\
\
# 3. Valores perdidos cuando se usan listas de funciones: uso de `na.rm=TRUE`.
\
Describe las variables "Crias Emergidas" y "Crías Muertas" utilizando la lista de funciones empleada en el punto 1 de esta práctica
* Crías Emergidas:
```{r}
listaFunciones=list(media=mean,
sd=sd,
asimetria=skewness,
curtosis=kurtosis,
min=min,
mediana=median,
max=max)
tortugas %>%
summarise_at(vars(crias_Emerg), listaFunciones, na.rm=TRUE) %>%
flextable() %>% autofit()
```
\
* Crías Muertas:
```{r}
tortugas %>%
summarise_at(vars(crias_Muertas), listaFunciones, na.rm=TRUE) %>%
flextable() %>% autofit()
```
\
\
\
\
# 4. Funciones.
\
Define funciones para contar el número de observaciones válidas y el número de valores perdidos en una variable.
```{r}
n_missing <- function(x){
sum(is.na(x))
}
n_valid <- function(x){
sum(!is.na(x))
}
```
* Si queremos contar el número de valores válidos en todas las variables de `tortugas`:
```{r}
tortugas %>%
summarise_all(n_valid) %>%
flextable() %>%
autofit()
```
* Si queremos contar el número de valores perdidos:
```{r}
tortugas %>%
summarise_all(n_missing) %>%
flextable() %>%
autofit()
```
* Podemos usar estas funciones en combinación con otras:
```{r}
tortugas %>%
summarise(mediaCrias_Emerg=mean(crias_Emerg,na.rm=TRUE),
sdLCC=sd(crias_Emerg,na.rm=TRUE),
nLCC=n_valid(crias_Emerg)) %>%
flextable() %>%
autofit()
```
\
\
\
\
# 5. Gráficos con ggplot: Nubes de puntos
\
Representar gráficamente LCC frente a ACC.
\
```{r}
tortugas %>%
ggplot(aes(x=ACC,y=LCC)) +
geom_point()
```
\
\
\
\
# 6. Gráficos con ggplot: Nubes de puntos y recta de regresión.
\
Representar gráficamente el peso frente a la superficie del caparazón, añadiendo la linea de regresión
\
```{r}
tortugas %>%
mutate(superf=pi*((LCC+ACC)/400)^2) %>%
ggplot(aes(x=superf,y=peso)) +
geom_point()+
geom_smooth(method="lm")
```
\
\
\
\