bsaul / geex

Framework for estimating parameters and the empirical sandwich covariance matrix from a set of unbiased estimating equations (i.e. M-estimation) in R.
https://bsaul.github.io/geex/
Other
8 stars 3 forks source link

Toward a grammar of M-estimation #24

Closed bsaul closed 7 years ago

bsaul commented 7 years ago

The current function names in geex reflect the haphazard development thusfar. Before geex gains a wider user base (wishful thinking?), I'd like to reflect on the naming convention of functions within geex, keeping in mind the Design for Humans section of the tidyverse manifesto.

I propose the following conventions:

User functions

High level

For use within an eeFUN

Internal functions

These may be exported functions, but they are primarily designed for use within geex.

Others

How to deal with functions such as binomial_integrand, objFun_merMod that are internal to a make_** function?

BarkleyBG commented 7 years ago

For the "others" category, I'm thinking of verbs like "construct." Or better yet, since these could be considered plumbing functions, or innards to another function, perhaps verbs that relate to guts/organs/biology?

bsaul commented 7 years ago

Or what about just not exporting these functions and not exporting them?

Or in keeping with the plumbing metaphor, how about digest_** as in digest_binomial_integrand :)

Or process_**?

binomial_integrand could be compute_binomial_integrand, but it’s such a highly specific function that this type of function does belong in a different category.

On Jul 13, 2017, at 2:13 PM, Brian G. Barkley notifications@github.com wrote:

For the "others" category, I'm thinking of verbs like "construct." Or better yet, since these could be considered plumbing functions, or innards to another function, perhaps verbs that relate to guts/organs/biology?

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/bsaul/geex/issues/24#issuecomment-315159056, or mute the thread https://github.com/notifications/unsubscribe-auth/AEqCLs7Z6lQMKo5YfjRuo6-U3x-Hvjvwks5sNl5IgaJpZM4OW_p0.

BarkleyBG commented 7 years ago

Or what about just not exporting these functions and not exporting them?

🤔

I kinda like process_** because it's general enough. Somewhere between process and digest. Unfortunately they're both nouns, too.

BarkleyBG commented 7 years ago

suggestions:

bsaul commented 7 years ago

Here are my current thoughts:

User functions

High level

For use within an eeFUN

Internal functions

These may be exported functions, but they are primarily designed for use within geex.

Others

Functions such as binomial_integrand andobjFun_merMod will not be exported.