Following conventions apply to the easystats-ecosystem, to ensure that function and argument names as well as element names for return-values follow a consistent pattern across all packages.

Importing other packages

• No full import, only selective import of functions

• Use base-R wherever possible (to reduce hard dependencies)

• Make sure R-version requirements are not too strict

Package versioning

Helper-functions

• Own re-implementation of helper-functions, if it’s not too much effort (e.g. I typically use own functions to check if a string starts / ends with a pattern, or if an object (list, data frame) contains an element with a given name (like tibble::has_name()), to reduce dependencies.

print functions

• print methods should invisibly return the original (unchanged) input (#65).

Function names

• Lower case, underscore separated if more than one verb.

• Common prefix for functions that focus on specific “tasks” or workflows (e.g. insight, get_*() to get data, find_*() to find information, or performance, performance_*() to compute measures of model quality, check_*() to check model assumptions…).

• Internal functions (that are not exported, like the previously mentioned helper-functions) should always start with a . (e.g., .do_some_internal_stuff()).

Argument names

• lower case, underscore separated if more than one verb

Element / Column names (for returned data frames)

1. First letter of the column name is capital, unless (6) applies (example: Parameter).

2. First letter of nouns is capital, unless (6) applies (example: ROPE_Percentage, Prior_Scale).

3. Using underscore rather than camelCase to separate words (example: CI_high).

4. Multiple words: common/main part first and adjective/specifier/variational part after, unless (8) applies (example: Median_standardized, ROPE_percentage).

5. Abbreviations: all uppercase (example: ESS, MCSE, ROPE).

6. Keep conventions for reserved words (example: p, pd, Rhat).

7. Adjectives / verbs: all lower case, unless (1) applies (example: high or low in CI_high or CI_low).

8. In case of multiple occurrences of column names that indicate the same measure or content (like CI_low or SE), the common part is appended as suffix to the context specific part (example: CI_low and Eta2_partial_CI_low, and not CI_low and CI_low_Eta2_partial).

9. The “squared” term in column names that refers to “common” statistics (Eta2, Chi2, Omega2, …) should be written as 2, not sq, squared or pétit-deux (example: Chi2, and not Chisq, Eta2, and not Eta_squared). This rule does not apply to function names.