Skip to content

enhancement: support bare (unquoted) column name inputs via base R NSE #88

@chris-prener

Description

@chris-prener

Summary

Explore adding support for bare (unquoted) column name arguments in user-facing functions, using base R non-standard evaluation patterns (substitute(), deparse(), match.call() — cf. library(), subset()).

Motivation

Currently, column/variable arguments are passed as character strings. Supporting bare inputs would align with ergonomic R conventions (e.g., library(dplyr) not library("dplyr")) and improve the interactive user experience.

Design constraints

  • Must use base R NSE only — no rlang dependency
  • Character string inputs must remain supported (non-breaking)
  • Pattern: detect whether input is a symbol or character, handle both:
    arg <- substitute(arg)
    if (is.symbol(arg)) arg <- deparse(arg)
  • Document clearly which arguments support bare input

Context

Acceptance criteria

  • Identify which user-facing function arguments benefit from bare input support
  • Implement base R NSE pattern for those arguments
  • Backward-compatible: existing character string usage continues to work
  • No new dependencies introduced
  • Documentation updated with examples of both quoted and bare usage
  • Tests cover both input styles

Notes

This is a follow-on to the dplyr evaluation (#86). If dplyr is retained, tidy-select semantics already provide this. If dplyr is removed, base R NSE is the path forward.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestpriority/mediumModerate impact, address as capacity allows

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions