AgentStack
SKILL verified MIT Self-run

Janitor

skill-leolin990405-r-analytics-skill-janitor · by LeoLin990405

R janitor package for data cleaning. Use for cleaning dirty data and creating tabulations.

No reviews yet
0 installs
9 views
0.0% view→install

Install

$ agentstack add skill-leolin990405-r-analytics-skill-janitor

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Janitor? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

janitor

Simple tools for examining and cleaning dirty data.

Clean Names

library(janitor)

# Clean column names
df % tabyl(category)

# Two-way tabulation
df %>% tabyl(category, group)

# Three-way tabulation
df %>% tabyl(category, group, year)

Tabyl Adornments

df %>%
  tabyl(category, group) %>%
  adorn_totals("row") %>%           # Add row totals
  adorn_totals("col") %>%           # Add column totals
  adorn_percentages("row") %>%      # Convert to row percentages
  adorn_pct_formatting() %>%        # Format percentages
  adorn_ns() %>%                    # Add counts in parentheses
  adorn_title("combined")           # Add title row

Remove Empty

# Remove empty rows and columns
df % get_dupes()

# Find duplicates by specific columns
df %>% get_dupes(name, date)

# Count duplicates
df %>% get_dupes() %>% nrow()

Data Comparison

# Compare data frames
compare_df_cols(df1, df2)

# Check if same columns
compare_df_cols_same(df1, df2)

Excel Dates

# Convert Excel numeric dates
excel_numeric_to_date(44197)  # Returns Date

# Convert Excel datetime
excel_numeric_to_date(44197.5, include_time = TRUE)

# Convert to Excel date
convert_to_date("2021-01-01")
convert_to_datetime("2021-01-01 12:00:00")

Rounding

# Round half up (Excel-style)
round_half_up(2.5)  # Returns 3

# Round to fraction
round_to_fraction(0.37, denominator = 4)  # Returns 0.25

Row-wise Operations

# Add row numbers
df %>% row_to_names(row_number = 1)  # Use first row as names

# Convert first row to names
df %>% row_to_names(1)

Crosstab

# Cross tabulation with statistics
df %>%
  tabyl(var1, var2) %>%
  chisq.test()

# Fisher's exact test
df %>%
  tabyl(var1, var2) %>%
  fisher.test()

Top Levels

# Show top levels of factor
df %>% top_levels(category, n = 5)

Single Value

# Check if column has single value
df %>%
  summarise(across(everything(), ~ n_distinct(.x) == 1))

With dplyr

library(dplyr)

df %>%
  clean_names() %>%
  remove_empty(c("rows", "cols")) %>%
  mutate(date = excel_numeric_to_date(date_col)) %>%
  tabyl(category) %>%
  adorn_pct_formatting()

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.