here() starts at /home/luisd/Dropbox/darcyDB/PDRF/curso-R-biodiversidad
Instituto de Ecología, A.C.
here() starts at /home/luisd/Dropbox/darcyDB/PDRF/curso-R-biodiversidad
Vamos a utilizar los siguientes paquetes en R
skimr
janitor
report
“Los científicos de datos dedican entre el 50 % y el 80 % de su tiempo a este labor más mundano de recopilar y preparar datos digitales rebeldes, antes de que puedan explorarse en busca de pepitas útiles.” - Internet (2023)
Vamos a aplicar la función summary()
sobre nuestro conjunto de datos df
skim()
sobre un conjunto de datos dfyank()
── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr 1.1.2 ✔ readr 2.1.4
✔ forcats 1.0.0 ✔ stringr 1.5.0
✔ ggplot2 3.4.2 ✔ tibble 3.2.1
✔ lubridate 1.9.2 ✔ tidyr 1.3.0
✔ purrr 1.0.1
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag() masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
Variable type: numeric
skim_variable | n_missing | complete_rate | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
---|---|---|---|---|---|---|---|---|---|---|
goles | 1 | 0.86 | 21.00 | 9.86 | 12 | 12.0 | 21 | 30 | 30 | ▇▁▁▁▇ |
partidos | 1 | 0.86 | 18.83 | 2.04 | 15 | 18.5 | 20 | 20 | 20 | ▂▁▂▁▇ |
skim()
y conteste:dplyr::glimpse()
easystats::report()
# Attaching packages: easystats 0.6.0
✔ bayestestR 0.13.1 ✔ correlation 0.8.4
✔ datawizard 0.8.0 ✔ effectsize 0.8.3
✔ insight 0.19.2 ✔ modelbased 0.8.6
✔ performance 0.10.4 ✔ parameters 0.21.1
✔ report 0.5.7 ✔ see 0.8.0
The data contains 7 observations of the following 4 variables:
- nacionalidad: 3 entries, such as ARG (n = 5); FRA (n = 1); NOR (n = 1) (0
missing)
- jugadores: 7 entries, such as Alvarez (n = 1); Benzema (n = 1); DiMaria (n =
1) and 4 others (0 missing)
- goles: n = 7, Mean = 21.00, SD = 9.86, Median = , MAD = 13.34, range: [12,
30], Skewness = 0.00, Kurtosis = -3.33, 1 missing
- partidos: n = 7, Mean = 18.83, SD = 2.04, Median = , MAD = 0.00, range: [15,
20], Skewness = -1.78, Kurtosis = 2.77, 1 missing
report
?The data contains 140750 observations of the following 3 variables:
- birds: 1265 entries, such as Turdus rufiventris (0.80%); Turdus merula
(0.80%); Vireo olivaceus (0.76%) and 1262 others (1 missing)
- plants: 2902 entries, such as Trema micrantha (0.51%); Sorbus aucuparia
(0.50%); Myrsine coriacea (0.49%) and 2899 others (0 missing)
- interaction: n = 140750, Mean = 0.18, SD = 0.39, Median = 0.00, MAD = 0.00,
range: [0, 5], Skewness = 1.64, Kurtosis = 0.83, 0% missing
We fitted a linear model (estimated using OLS) to predict Sepal.Length with
Species (formula: Sepal.Length ~ Species). The model explains a statistically
significant and substantial proportion of variance (R2 = 0.62, F(2, 147) =
119.26, p < .001, adj. R2 = 0.61). The model's intercept, corresponding to
Species = setosa, is at 5.01 (95% CI [4.86, 5.15], t(147) = 68.76, p < .001).
Within this model:
- The effect of Species [versicolor] is statistically significant and positive
(beta = 0.93, 95% CI [0.73, 1.13], t(147) = 9.03, p < .001; Std. beta = 1.12,
95% CI [0.88, 1.37])
- The effect of Species [virginica] is statistically significant and positive
(beta = 1.58, 95% CI [1.38, 1.79], t(147) = 15.37, p < .001; Std. beta = 1.91,
95% CI [1.66, 2.16])
Standardized parameters were obtained by fitting the model on a standardized
version of the dataset. 95% Confidence Intervals (CIs) and p-values were
computed using a Wald t-distribution approximation.
Esta función sirve para generar tablas de contingencia, o sea, con frecuencias, proporciones o conteos entre los objetos
table()
:
table()
permite calcular proporcionesjanitor::tabyl()
table()
janitor::tabyl()
Attaching package: 'janitor'
The following object is masked from 'package:insight':
clean_names
The following objects are masked from 'package:datawizard':
remove_empty, remove_empty_rows
The following objects are masked from 'package:stats':
chisq.test, fisher.test
jugadores n percent
Alvarez 1 0.1428571
Benzema 1 0.1428571
DiMaria 1 0.1428571
Haaland 1 0.1428571
Lautaro 1 0.1428571
Maradona 1 0.1428571
Messi 1 0.1428571
tabyl()
te indica la presencia de NAs, mientras que table()
no lo hace por defectotabyl()
para saber cuál es la especie de ave con más occurrenciasView()
o la función arrange()
birds n percent valid_percent
Turdus rufiventris 1120 0.007957371 0.007957428
Turdus merula 1119 0.007950266 0.007950323
Vireo olivaceus 1070 0.007602131 0.007602185
Thraupis sayaca 1021 0.007253996 0.007254048
Pitangus sulphuratus 997 0.007083481 0.007083532
Turdus albicollis 996 0.007076377 0.007076427
adorn_totals()
adorn_percentages()
adorn_rounding(digits=1)
adorn_totals()
Al usar la función
adorn_percentages()
, qué porcentajes se están calculando? Hay un argumento llamado denominator = c(“all”, “row”, “col”) en la funciónadorn_percentages()
. Cuál es la diferencia en usar cada una de las opciones?
adorn_percentages()
- calcular porcentajesadorn_pct_formatting()
- formatar los valores calculadosadorn_ns()
top_levels()
top_levels()
te devuelve un data.frameclean_names()
para limpiar y ajustar nombres de columnas en data.framescompare_df_cols()
para comparar si columnas de dos data.frames son igualesremove_empty()
para remover celdas vacías en data.framesUn colega está investigando el efecto de la construcción de una represa en el rio Madeira, Amazonía, sobre la comunidad de hormigas. Hay un efecto fuerte de cambio de la comunidad en el “antes” y “después” de la construcción (medido con el indice Bray-Curtis). Sin embargo, las variables climatológicas y edáficas no han cambiado, por lo que este colega tiene la hipótesis del cambio de nível freático.
Para cada parcela se calculó 3 valores (tipo 2, 3 y 4) de un descriptor de la hidrología local llamado HAND. Los valores fueron calculados para antes y después de la inundación.
El colega necesita saber cuál de los 3 valores podrá ser usado como variable descriptora en su estudio. En la figura abajo se ve el efecto de la inundación en el Rio Madeira sobre un modelo digital de elevación
{fig-align=“center”,fig-size=“80%”}
rio::import()
janitor::clean_names()