A systematic R package for parsing strings and converting them to snake_case, camelCase, and other naming conventions.
snakecase is an R package that systematically parses and converts strings between different naming conventions like snake_case, camelCase, and SCREAMING_SNAKE_CASE. It solves the problem of inconsistent variable names in data analysis by providing a flexible, rule-based approach to standardize text formatting.
R developers and data analysts who need to clean and standardize column names, variable identifiers, or other text data in their workflows, especially those working with datasets from multiple sources.
It offers fine-grained control over the conversion process with support for abbreviations, transliterations, and custom separators, while ensuring consistent behavior across different case styles—making it more reliable than simple string replacement functions.
🐍🐍🐍 A systematic approach to parse strings and automate the conversion to snake_case, UpperCamelCase or any other case.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Allows fine-grained control over parsing, conversion, and post-processing with arguments like sep_in for regex separators and parsing_option for mixed cases, enabling tailored string handling.
Built on three rules of consistency that ensure reliable round-trip conversions between case styles, preventing information loss and supporting predictable outputs.
Intelligently handles known abbreviations via the abbreviations argument and converts special characters to ASCII using built-in or custom mappings, preserving meaning in complex strings.
Supports multiple case styles including snake, camel, screaming snake, and special cases like parsed and mixed, catering to diverse naming conventions in data analysis.
The README explicitly recommends piping output to dput() and hardcoding changes, as automatic conversion isn't foolproof, especially with ambiguous or edge-case inputs.
With numerous arguments like transliterations, numerals, and sep_out, users face a steep learning curve and must invest time in tweaking settings for optimal results.
Admitted to be slower than minimal implementations due to a systematic and maintainable design built on stringr, which may impact speed-critical applications.