# Create sample biological dataset data <- data.frame( Hemoglobin = c(12.5,13.2,11.8,14.0,13.5,14.2,11.5,14.8,12.9,14.1) ) x <- data$Hemoglobin # ----------------------------- # Basic Descriptive Statistics # ----------------------------- # Mean mean(x) # Median median(x) # Mode (custom function) mode_func <- function(x) { ux <- unique(x) ux[which.max(tabulate(match(x, ux)))] } mode_func(x) # Minimum min(x) # Maximum max(x) # Range range(x) # Sum sum(x) # Count (Sample Size) length(x) # ----------------------------- # Measures of Dispersion # ----------------------------- # Variance var(x) # Standard Deviation sd(x) # Interquartile Range (IQR) IQR(x) # Quartiles quantile(x) # ----------------------------- # Position Measures # ----------------------------- # Percentiles (example: 25%, 50%, 75%) quantile(x, probs = c(0.25, 0.5, 0.75)) # Deciles (10%, 20%, ..., 90%) quantile(x, probs = seq(0.1, 0.9, by = 0.1)) # ----------------------------- # Shape Measures # ----------------------------- # Install package (only first time) install.packages("moments") # Load package library(moments) # Skewness skewness(x) # Kurtosis kurtosis(x)