📦 emissionTrackeR

An R Package

By Isaac Bravo in R package

March 30, 2025

emissionTrackerR Logo

📦 emissionTrackerR


emissionTrackerR is an R package that helps track, log, and visualize carbon emissions generated by your R code, ML experiments, and projects. It supports automatic logging, metadata collection, real-world emission equivalents, and a built-in Shiny dashboard. It is inspired by and conceptually based on the Python package CodeCarbon developed by ML CO2 Impact, and aims to bring similar functionality to the R ecosystem.

🚀 Installation


# Install from GitHub
devtools::install_github("your-username/emissionTrackerR")

🔧 Basic Usage


library(emissionTrackerR)

# Track emissions for a code block
track_emissions_for("example_sleep", {
  Sys.sleep(2)
})

# Output Console:
Tracking started at 2025-04-13 18:09:43
Tracking stopped at 2025-04-13 18:09:45
Estimated emissions (kg CO2): 0.000414

Logs will be saved as:

  • emissions_log.json
  • emissions_log.csv

🧠 Example: Machine Learning Task


library(emissionTrackerR)

# Track emissions for a code block
library(randomForest)

track_emissions_for("iris_rf_model", {
  # Load and expand the iris dataset 10×
  data(iris)
  big_iris <- do.call("rbind", replicate(10, iris, simplify = FALSE))
  
  # Train/test split
  idx <- sample(nrow(big_iris), 0.8 * nrow(big_iris))
  train <- big_iris[idx, ]
  test <- big_iris[-idx, ]
  
  # Train and evaluate model
  model <- randomForest(Species ~ ., data = train)
  acc <- mean(predict(model, test) == test$Species)
  
  print(acc)
})


# Output Console:
Tracking started at 2025-04-13 18:13:53
[1] 1
Tracking stopped at 2025-04-13 18:13:53
Estimated emissions (kg CO2): 8.9e-05
[1] 1

🛠 Features


  • Automatic Emissions Tracking: Monitor the carbon footprint of your R code execution seamlessly.​

  • Metadata Collection: Gather contextual information about your experiments for comprehensive tracking.​

  • Real-World Equivalents: Translate emissions data into relatable metrics (e.g., equivalent kilometers driven).​

  • Shiny Dashboard: Visualize emissions data interactively through an integrated Shiny application.

Posted on:
March 30, 2025
Length:
2 minute read, 254 words
Categories:
R package
See Also: