Meet causalnet: an R package for turning network connections into causal possibilities

Networks are great for showing what is connected to what, but they often leave out an important part of the story: which way the influence goes. If two things are linked, does A affect B, does B affect A, or could it be both? That is exactly the kind of question causalnet is built for.

From connections to directions

causalnet is a new R package that helps you take an undirected network and explore all the possible directed versions that could fit it. Instead of settling for one guessed structure, you can look at many plausible ones and see how they differ. You can also add your own rules or constraints if some directions are already known.

Beyond structure: dynamics and simulation

But the fun part is that it does not stop there. causalnet also lets you study features like feedback loops and then simulate how different network setups behave over time. In other words, it helps you move from "these things are connected" to "this is how the system might actually evolve."

Key Features

  • Enumerate all possible directed acyclic graphs (DAGs) from an undirected network
  • Incorporate prior knowledge and constraints on edge directions
  • Detect and study feedback loops across candidate structures
  • Simulate system dynamics to explore how structure shapes behavior over time

So if you are interested in networks, causality, and system dynamics, causalnet gives you a practical way to explore how structure can shape behavior!

Try causalnet

Available on GitHub and CRAN

💻 GitHub Repository 📦 CRAN Page
Causality R Package Networks DAGs System Dynamics Causal Inference