Skip to content

Commit

Permalink
optme.R added
Browse files Browse the repository at this point in the history
  • Loading branch information
8Ginette8 committed Jan 7, 2025
1 parent 6bbc205 commit cabf171
Show file tree
Hide file tree
Showing 5 changed files with 48 additions and 1 deletion.
1 change: 1 addition & 0 deletions DESCRIPTION
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,4 @@ Collate:
'get_bioreg.R'
'evaluate_range.R'
'make_blocks.R'
'optme.R'
1 change: 1 addition & 0 deletions NAMESPACE
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ export(make_blocks)
export(make_ecoregion)
export(make_tiles)
export(obs_filter)
export(optme)
export(read_bioreg)
importFrom(ClusterR,KMeans_rcpp)
importFrom(CoordinateCleaner,cd_ddmm)
Expand Down
31 changes: 31 additions & 0 deletions R/optme.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
### =========================================================================
### optimization function for cluster distribution (meta)
### =========================================================================
#' Optimization function to create equal-sized strata in the 'make_blocks' function
#'
#' Not to be called directly by the user.
#' @author Philipp Brun
#' @export
optme=function(x,nms,grps,tot){

# determine number of bservations in each groups from initial step
grp=sapply(grps,"sum")

# aggregate remaining observations by suggested cluster grouping
x=as.numeric(as.character(x))
agg.vals=aggregate(nms,by=list(x),FUN="sum")

for(i in 1:length(grp)){

if(i%in%agg.vals$Group.1){
grp[i]=agg.vals$x[which(agg.vals$Group.1==i)]+grp[i]
}

}

# Calculate difference from equal distribution
pen=(grp-tot/length(grp))^2

return(sum(pen))

}
2 changes: 1 addition & 1 deletion man/get_status.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 14 additions & 0 deletions man/optme.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit cabf171

Please sign in to comment.