This function calculates the difference between two given numeric vectors while adding a penalty term (weight) to account for the number of models/instances that each vector's values were calculated from. Thus, if the models/instances are disproportionate and a penalty is included, the difference vector's values will be changed accordingly to reflect that.
get_vector_diff(vec1, vec2, m1 = 1, m2 = 1, penalty = 0)
numeric vector
numeric vector
integer > 0
integer > 0
value between 0 and 1 (inclusive). A value of 0 means no
penalty (m1,m2
don't matter) and a value of 1 is the strickest possible
penalty. Default value is 0.
the vector of differences between the two given vectors based on the formula: $$(vec1 - vec2) * w$$, where \(w = (min(m1,m2)/max(m1,m2))^p\) and \(p = penalty\).
See also related StackOverflow question.
If vec1
has names
, the returned vector will have the same names
attribute as vec1
.