weights_subpops {popkin} | R Documentation |
This function returns positive weights that sum to one for individuals using subpopulation labels, such that every subpopulation receives equal weight. In particular, if there are K subpopulations, then the sum of weights for every individuals of a given subpopulation will equal 1/K. The weight of every individual is thus inversely proportional to the number of individuals in its subpopulation.
weights_subpops(subpops)
subpops |
The length-n vector of subpopulation assignments for each individual. |
The length-n vector of weights for each individual.
# if every individual has a different subpopulation, weights are uniform: subpops <- 1:10 weights <- weights_subpops(subpops) stopifnot(all(weights == rep.int(1/10,10))) # subpopulations can be strings too subpops <- c('a', 'b', 'c') weights <- weights_subpops(subpops) stopifnot(all(weights == rep.int(1/3,3))) # if there are two subpopulations # and the first has twice as many individuals as the second # then the individuals in this first subpopulation weight half as much # as the ones in the second subpopulation subpops <- c(1, 1, 2) weights <- weights_subpops(subpops) stopifnot(all(weights == c(1/4,1/4,1/2)))