Little useless-useful R functions – Absurd bias DAG with useless mental shortcuts

R-bloggers 2025-05-25

[This article was first published on R – TomazTsql, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Exploring graphs is always a fun. Attaching the edges and nodes with real examples of psychological effects and accompany them with useless mental shortcuts is beyond fun. This is why we will call it a “cognitive bias” explorer using DAG.

Here are the graphs edges and nodes and we are calling them biases and weird links. Because, yes 🙂 Let’s mix the math with psychology.

  biases <- c(    "Confirmation Bias", "Anchoring Bias", "Availability Heuristic",     "Dunning-Kruger Effect", "Survivorship Bias", "Recency Bias",    "Sunk Cost Fallacy", "Bandwagon Effect", "Framing Effect",     "Self-Serving Bias", "Negativity Bias", "Halo Effect"  )    # useless links   weird_links <- c(    "You saw it on Reddit", "Too lazy to verify", "Sounds familiar",    "Because Elon tweeted it", "Grandma said so", "Wikipedia said maybe",    "Your gut feeling", "Cited by no one", "Used in a TED talk",    "Found in fortune cookie", "Might be science", "Feels statistically valid"  )

With this real life useless connections we can build a data.frame:

  edges <- data.frame(    from = sample(biases, n_links, replace = TRUE),    to = sample(biases, n_links, replace = TRUE),    reason = sample(weird_links, n_links, replace = TRUE),    stringsAsFactors = FALSE  )

And finally, let’s glue all the pieces together:

library(igraph)library(ggraph)library(ggplot2)bias_explorer <- function(seed = 2908, n_links = 25) {  set.seed(seed)    # Some psych effects from RL  biases <- c(    "Confirmation Bias", "Anchoring Bias", "Availability Heuristic",     "Dunning-Kruger Effect", "Survivorship Bias", "Recency Bias",    "Sunk Cost Fallacy", "Bandwagon Effect", "Framing Effect",     "Self-Serving Bias", "Negativity Bias", "Halo Effect"  )    # useless links   weird_links <- c(    "You saw it on Reddit", "Too lazy to verify", "Sounds familiar",    "Because Elon tweeted it", "Grandma said so", "Wikipedia said maybe",    "Your gut feeling", "Cited by no one", "Used in a TED talk",    "Found in fortune cookie", "Might be science", "Feels statistically valid"  )  edges <- data.frame(    from = sample(biases, n_links, replace = TRUE),    to = sample(biases, n_links, replace = TRUE),    reason = sample(weird_links, n_links, replace = TRUE),    stringsAsFactors = FALSE  )    edges <- edges[edges$from != edges$to, ]  g <- graph_from_data_frame(edges, vertices = data.frame(name = biases), directed = TRUE)  ggraph(g, layout = "drl") +    geom_edge_link(      aes(label = reason),      arrow = arrow(length = unit(3, 'mm')),      end_cap = circle(2, 'mm'),      start_cap = circle(2, 'mm'),      label_colour = "darkgray",      edge_width = 1.2,      colour = "skyblue"    ) +    geom_node_point(color = "darkred", size = 6) +    geom_node_text(aes(label = name), repel = TRUE, fontface = "bold", size = 3.5) +    labs(      title = "Bias_explorer(): The Absurd Web of Biases",      subtitle = "Visualizing ridiculous mental shortcuts.",      caption = "Edges represent irrational and useless connections."    ) +    theme_void()  }

Just to get a graph of random connections that can spark useless or useful imagination when examining your or one’s head. 🙂

As always, the complete code is available on GitHub in  Useless_R_function repository. The sample file in this repository is here (filename: Cognitive bias.R). Check the repository for future updates.

Carry on with R-coding and stay healthy!

To leave a comment for the author, please follow the link and comment on their blog: R – TomazTsql.

R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
Continue reading: Little useless-useful R functions – Absurd bias DAG with useless mental shortcuts