You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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]]) }.
I suspect that we could simply do without the z= argument.
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
Would you see any reason to hesitate with either of the options proposed in this issue, (1) or (2), if they didn't break the current tests? @markmfredrickson@josherrickson
benthestatistician
changed the title
simplify match_on.function()'s expectations of it 1st argument
simplify match_on.function()'s expectations of its 1st argument
May 19, 2021
Anything that simplifies match_on.function gets my support. What about also supporting a version that just takes in a pair of points and returns a distance between them; handling the index internally? I feel like that would live up to the promise of "just define any distance metric" better than having users worry about vectorization of functions.
match_on.function()
expects its first argument to be a function with 3 arguments,index
,data
andz
. 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:z=
argument.match_on()
that either do or do not take az=
argument, provided that we insist they takeindex
anddata
arguments. In particular, before this point inmakedist.R
we check whether
any(names(formals(distancefn))=="z")
and if not then instead doEither way this is an API change appropriate to a major version bump (#134) .
The text was updated successfully, but these errors were encountered: