tidyverse-patterns

Rewrite tidyverse R code using modern dplyr, purrr, and stringr patterns.

1|Updated May 13, 2026
One-click install
npx skills add https://github.com/impact-initiatives/ana_app --skill tidyverse-patterns-impact-initiatives
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: tidyverse-patterns
Source: https://github.com/impact-initiatives/ana_app/tree/main/.claude/.claude/skills/tidyverse-patterns
Command: npx skills add https://github.com/impact-initiatives/ana_app --skill tidyverse-patterns-impact-initiatives

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

The Skill reduces bugs and inconsistency by teaching modern tidyverse patterns for R, helping you write clearer dplyr pipelines, safer joins, and more reliable data transformations.

Core Features & Use Cases

  • Modern pipe and readability: Prefer native pipes and readable, current dplyr idioms for maintainable codebases.
  • Safer joins with validation: Enforce join expectations using relationship, unmatched/NA handling, and interactive verification.
  • Reliable data manipulation: Use correct tools for masking vs selection, grouping with .by, NA-safe filtering, and type-stable conditional updates.
  • Performance-minded functional and string workflows: Apply purrr alternatives to superseded helpers and use stringr for consistent, vectorized string operations.

Quick Start

Use tidyverse-patterns to rewrite your existing dplyr code to use native piping, join_by() join syntax, and strict join checks for correctness.

Frequently Asked Questions about tidyverse-patterns

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I validate joins in dplyr to prevent duplicate rows or silent data loss?

Validate dplyr joins by using the join_by() syntax combined with relationship, unmatched, and na_matches guardrails to enforce strict expectations and prevent silent data loss during data wrangling.

What is the modern way to pipe dplyr code without using magrittr?

The modern way to pipe dplyr code is using R's native pipe syntax, which replaces magrittr and improves readability while maintaining clear, maintainable data transformation pipelines.

How do I perform NA-safe filtering and per-operation grouping in tidyverse?

Perform NA-safe filtering and per-operation grouping in tidyverse by using the .by argument for localized grouping and applying specific dplyr idioms designed to handle missing values reliably.

When should I use purrr instead of superseded apply functions in R?

Use purrr instead of superseded apply functions when you need type-stable, performance-minded functional workflows that align with current tidyverse versions and avoid superseded helper anti-patterns.

What is the best way to handle vectorized string manipulation in R?

The best way to handle vectorized string manipulation in R is using stringr idioms, which provide consistent, vectorized string operations aligned with current tidyverse versions for reliable text processing.

Can I use tidy selection conventions to update columns conditionally in dplyr?

Yes, you can use tidy selection conventions and embrace syntax in dplyr to perform type-stable conditional updates and correctly handle masking versus selection in your data transformation pipelines.