Failing upward with R

Challenges faced and hard truths learned by a small but scrappy data team on their path to impact


Collin K. Berke, Ph.D., Media Research Analyst, Nebraska Public Media
  @collinberke
  collinberke
  collinberke.bsky.social

👋 Hi, I’m Collin





  • Media Research Analyst at Nebraska Public Media.
  • Goal is to use data to answer questions on how to best reach and engage audiences.
  • Developing open source tools and utilizing cloud computing resources to achieve this goal.

My dreams

  • Do something significant with data ✅
  • Teach at a university like UNL ✅
  • Be a positive influence for the state and people living in Nebraska ✅
  • Win a national championship as a Black Shirt defensive lineman

A few disclaimers

  • No proprietary information or data is shared here.
  • The views expressed in this presentation do not represent those of Nebraska Public Media.
  • What you hear here are very opinionated ways of working (there are likely other, better ways)

Your mileage will vary … 🚗💨

Where are we going today? 🧭

  • Be introduced to workflows our team uses to stay RAD: Reproducible, Automated, and Documented.
  • Observe how our team utilizes R and other open-source tools to find efficiencies and have a bigger impact.
  • Hear about some hard truths a small data team confronted when trying to leverage these tools.
  • Be convinced of the impact internal R packages can have on your team’s work.
  • Discover how tools like Quarto can make your team more human and your communication more effective.

“The station really punches above its weight.”

– Somebody, somewhere, at sometime, Nebraska Public Media

Have a vision of where you’re going

Hard lesson learned: Be useful.

  • Leverage your craft and use tools like R to be useful.

Hard lesson learned: Keep the ideal state and end in mind.

  • What Nebraska Public Media does is pretty rad.

  • So our data team should do RAD things as well.

    • Reproducible

    • Automated

    • Documented

Questions often asked

  • Can we–in a sensible way–reproduce past analysis and reporting?

  • Are we automating everything that we can, while being mindful of the evils lurking around too much optimization?

  • When we pivot, are we able to jump back into a project or data product easily?

  • Will this work on another computer?

  • Are we still being human?

How do you stay RAD in a tornado, while climbing a mountain…?

R Packages are our ‘Dorthy’

Focus is on making data accessible

Use a guide:
Follow those who went before you

Hard lesson learned: Don’t go it alone.

  • Others before you have confronted and likely have solved your problems.

  • Those I turn to:

    • Hadley Wickham, Jenny Bryan, JD Long, Emily Riederer, Sharla Gelfand, and countless others …
  • Many of the ideas shared here are from these folks.

Adversity is unavoidable, so identify ways to make work more enjoyable

Hard lesson learned: The environments you work in may not be set up for data science work.

  • APIs and interfaces to submit queries makes me happy 😃.
  • Dashboards and data portals for data extraction make me cringe 😬.
  • However, you can use R and other tools to make things better, more enjoyable.

Hard lesson learned: Use what you know to make things better.

  • Smooth is fast.
  • Inspiration: usethis
  • Convenience functions make things more enjoyable, fun.
    • qet_* and open_* functions
  • Let’s look at an example.

Have a plan, know where you’re going (roughly)

Hard lesson learned: Make tough choices about project structure as early as possible.

.
├── DESCRIPTION
├── NAMESPACE
├── R
│   ├── get_broadband.R
│   ├── get_drive_data.R
│   └── ...
├── README.Rmd
├── comms
├── data
│   └── data_broadband.rda
├── data-raw
│   ├── 2025-05-05_2022-12-31_fcc_broad-band-map_mobile_nebraska.csv
│   ├── 2025-05-05_2022-12-31_fcc_broadband-map_mobile_nebraska.csv
│   ...
├── inst
│   ├── app
│   │   └── app.R
│   ├── reports
│   │   ├── 2025-05-05_report-mobile-broadband.qmd
│   │   ├── _output
│   │   │   └── 2025-05-05_report-mobile-broadband.pdf
│   │   └── _quarto.yml
│   └── sql
│       └── get_bq_broadband.sql
├── man
│   ├── get_broadband.Rd
│   ├── get_drive_data.Rd
│   ├── open_data_storage.Rd
│   └── vis_broadband_trend.Rd
├── tests
│   ├── testthat
│   └── testthat.R
└── vignettes
    ├── 2025-05-05_broadband-data-dictionary.pdf
    └── extract-broadband_data.Rmd

Other’s are leading these conversations, most likely in your domain

Hard lesson learned: Create waypoints to know if you’re on the right path.

Know when to pivot when you get lost

Hard lesson learned: Not all shiny things are useful or needed.

Take others along on your journey

Hard lesson learned: Be where your audience is.

  • Create data products that are useful:

    • SQL queries? Static PDFs? Excel files? Shiny apps? A slide-deck?
  • Sometimes you have to leverage some tricks to occupy these spaces.

  • Quarto has been a huge help (e.g., reveal-js; exploring parameterized reports)

Hard lesson learned: Be a human.

  • Observe how the data is created.
  • Build what people actually want and need, not what you think they need.
    • This may require asking people what they want.
    • Other times, you might just need to show them something.
  • Be useful to other people.

Wrap up ⛰️

  • Introduced to workflows our team uses to stay RAD: Reproducible, Automated, and Documented.
  • Observed how our team utilizes R and other open-source tools to find efficiencies and have a bigger impact.
  • Heard about some hard truths a small data team confronted when trying to leverage these tools.
  • Hopefully convinced you of the impact internal R packages can have on your team’s work.
  • Witnessed how tools like Quarto can make your team more human and your communication more effective.