The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

aridagri

R-CMD-check License: GPL-3 CRAN DOI Downloads

Comprehensive Statistical Tools for Agricultural Research

aridagri is an R package providing 33 functions for statistical analysis in agricultural research, with a focus on experimental design analysis and agronomic calculations. It is written in base R with no hard dependencies.

Key Features


Installation

# From CRAN
install.packages("aridagri")

# Development version from GitHub
# install.packages("remotes")
remotes::install_github("lalitrolaniya/aridagri")

Function Overview

Experimental Design ANOVA (16 functions)

Function Design
anova_crd() Completely Randomized Design
anova_rbd() Randomized Block Design
anova_rbd_pooled() Pooled RBD (multi-environment)
anova_latin() Latin Square Design
anova_factorial() Two-Factor Factorial
anova_factorial_3way() Three-Factor Factorial
anova_spd() Split-Plot Design
anova_spd_ab_main() SPD with (A x B) in main plot
anova_spd_c_main_ab_sub() SPD with C main, (A x B) sub
anova_spd_ab_cd() SPD with (A x B) main, (C x D) sub
anova_spd_pooled() Pooled Split-Plot Design
anova_sspd() Split-Split-Plot Design
anova_sspd_pooled() Pooled SSPD
anova_strip() Strip-Plot Design
anova_augmented() Augmented Block Design
anova_alpha_lattice() Alpha Lattice Design

Stability, agronomic, statistical and nutrient functions

Function Analysis
stability_analysis() 7 stability methods with integrated ranking
thermal_indices() GDD, HTU, PTU, HUE
crop_growth_analysis() CGR, RGR, NAR
harvest_index() Harvest index and partitioning
yield_gap_analysis() Yield gap calculations
economic_indices() B:C ratio, net returns
correlation_analysis() Correlation matrix with significance
pca_analysis() Principal Component Analysis
path_analysis() Path coefficient analysis
sem_analysis() Structural Equation Modeling
nue_calculate() Nutrient Use Efficiency indices
nutrient_response() Response curve and economic optimum
economic_analysis() Gross/net return, B:C ratio

Post-hoc, diagnostics and utilities

Function Purpose
perform_posthoc() Post-hoc comparisons (7 methods)
check_assumptions() Normality, homogeneity, independence, outliers
arid_plot() Base-graphics plots for ANOVA, correlation and stability objects
export_results() Export results to Excel or CSV

Usage

Every function is called with the data frame first, then the column names as character strings. Set verbose = FALSE to suppress the printed report and just capture the returned object.

Analysis of variance

library(aridagri)

## Completely Randomized Design
crd <- data.frame(
  treatment = factor(rep(c("T1", "T2", "T3", "T4"), each = 4)),
  yield     = c(20, 22, 19, 21,  25, 27, 24, 26,
                30, 32, 29, 31,  28, 30, 27, 29)
)

res <- anova_crd(crd, response = "yield", treatment = "treatment")

## the returned object holds the table, means and statistics
res$anova_table
res$treatment_means
res$cv

## Randomized Block Design
anova_rbd(data, response = "yield", treatment = "variety", block = "block")

## Two-factor factorial
anova_factorial(data, response = "yield", factor1 = "nitrogen", factor2 = "variety")

## Split-plot design
anova_spd(data, response = "yield",
          main_plot = "irrigation", sub_plot = "variety", replication = "rep")

Post-hoc comparisons

There are two equivalent ways to run a post-hoc test.

## Option 1: inline, as part of the ANOVA call
anova_crd(crd, "yield", "treatment", posthoc = "tukey")

## Option 2: standalone, on a fitted aov() model
model <- aov(yield ~ treatment, data = crd)
perform_posthoc(model, crd, response = "yield", treatment = "treatment",
                posthoc = "tukey")

Valid method names are "lsd", "duncan", "tukey", "snk", "scheffe", "dunnett", "bonferroni", or "all". Dunnett compares every level against the first factor level as the control; there is no separate control argument, so order the treatment factor with the control first if needed.

Assumption checks

model <- aov(yield ~ treatment, data = crd)
check_assumptions(model)   # Shapiro-Wilk, Bartlett, Durbin-Watson, outliers

Split-Split-Plot Design

data <- expand.grid(
  rep        = 1:3,
  irrigation = c("I1", "I2", "I3"),
  variety    = c("V1", "V2"),
  nitrogen   = c("N0", "N40", "N80")
)
data$yield <- rnorm(nrow(data), 1200, 150)

anova_sspd(data,
           response     = "yield",
           main_plot    = "irrigation",
           sub_plot     = "variety",
           sub_sub_plot = "nitrogen",
           replication  = "rep")

Stability analysis (7 methods)

data <- expand.grid(
  variety  = paste0("V", 1:10),
  location = paste0("L", 1:5),
  rep      = 1:3
)
data$yield <- rnorm(nrow(data), 1200, 200)

stability_analysis(data,
                   genotype    = "variety",
                   environment = "location",
                   replication = "rep",
                   trait       = "yield",
                   method      = "all")

Correlation, PCA and visualization

df <- data.frame(
  yield   = rnorm(30, 1200, 150),
  pods    = rnorm(30, 50, 6),
  biomass = rnorm(30, 3500, 400)
)

cor_res <- correlation_analysis(df, method = "pearson")
pca_res <- pca_analysis(df, scale = TRUE)

## arid_plot() draws factor/treatment means for any ANOVA design,
## a heatmap for a correlation object, and a ranking for a stability object
arid_plot(res)
arid_plot(cor_res)

Exporting results

export_results(res, "results.xlsx")                  # Excel (default)
export_results(res, "results.csv", format = "csv")   # CSV

Unique Features

  1. All split-plot design variations in one package
  2. SE and CD reported for each comparison type
  3. Seven stability analysis methods in a single function
  4. Thermal indices (GDD, HTU, PTU, HUE) and crop growth analysis (CGR, RGR, NAR)
  5. Base-R implementation with no hard dependencies

Citation

Rolaniya, L.K., Jat, R.L., Punia, M., and Choudhary, R.R. (2026). aridagri:
Comprehensive Statistical Tools for Agricultural Research.
R package version 2.0.4. https://github.com/lalitrolaniya/aridagri

Authors

Lalit Kumar Rolaniya (Maintainer) Scientist (Agronomy) ICAR-Indian Institute of Pulses Research, Regional Centre, Bikaner, Rajasthan-334006, India ORCID: 0000-0001-8908-1211

Ram Lal Jat Senior Scientist (Agronomy) ICAR-Indian Institute of Pulses Research, Regional Centre, Bikaner, Rajasthan-334006, India ORCID: 0009-0003-4339-0555

Monika Punia Scientist (Genetics & Plant Breeding) ICAR-Indian Institute of Pulses Research, Regional Centre, Bikaner, Rajasthan-334006, India ORCID: 0009-0002-0294-6767

Raja Ram Choudhary Scientist (Agronomy) ICAR-Indian Institute of Groundnut Research, Regional Research Station, Bikaner, Rajasthan-334006, India


License

GPL-3


Contributing

Contributions are welcome. Please submit issues or pull requests on GitHub.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.