Skip to content

simplify match_on.function()'s expectations of its 1st argument #205

@benthestatistician

Description

@benthestatistician

match_on.function() expects its first argument to be a function with 3 arguments, index, data and z. But in many cases, including each of my uses of it as well as the example discussed inline in the documentation, only the first two are used. This adds a disorienting element to our explanation:

...This may sound complicated, but is simple to use. For example, a function that returned the absolute difference between two units using a vector of data would be f <- function(index, data, z) { abs(data[index[,1]] - data[index[,2]]) }.

  1. I suspect that we could simply do without the z= argument.
  2. Alternatively, I'd think we could accommodate functions passed to match_on() that either do or do not take a z= argument, provided that we insist they take index and data arguments. In particular, before this point in makedist.R
dists <- distancefn(cbind(treatmentids, controlids), data, z)

we check whether any(names(formals(distancefn))=="z") and if not then instead do

dists <- distancefn(cbind(treatmentids, controlids), data)

Either way this is an API change appropriate to a major version bump (#134) .

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions