IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

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

    tomaztsql发表于 2025-05-25 18:29:27
    love 0
    [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


沪ICP备19023445号-2号
友情链接