Partitioners are functions that tell the partition algorithm 1)
what to try to reduce 2) how to measure how much information is lost from
the reduction and 3) how to reduce the data. In partition, functions that
handle 1) are called directors, functions that handle 2) are called
metrics, and functions that handle 3) are called reducers. partition has a
number of pre-specified partitioners for agglomerative data reduction.
Custom partitioners can be created with as_partitioner()
.
Pass partitioner
objects to the partitioner
argument of partition()
.
part_minr2()
uses the following direct-measure-reduce approach:
direct: direct_distance()
, Minimum Distance
measure: measure_min_r2()
, Minimum R-Squared
reduce: reduce_scaled_mean()
, Scaled Row Means
part_minr2(spearman = FALSE)
a partitioner
Other partitioners:
as_partitioner()
,
part_icc()
,
part_kmeans()
,
part_pc1()
,
part_stdmi()
,
replace_partitioner()
set.seed(123)
df <- simulate_block_data(c(3, 4, 5), lower_corr = .4, upper_corr = .6, n = 100)
# fit partition using part_minr2()
partition(df, threshold = .6, partitioner = part_minr2())
#> Partitioner:
#> Director: Minimum Distance (Pearson)
#> Metric: Minimum R-Squared
#> Reducer: Scaled Mean
#>
#> Reduced Variables:
#> 4 reduced variables created from 12 observed variables
#>
#> Mappings:
#> reduced_var_1 = {block2_x1, block2_x2, block2_x3, block2_x4}
#> reduced_var_2 = {block3_x1, block3_x3, block3_x5}
#> reduced_var_3 = {block3_x2, block3_x4}
#> reduced_var_4 = {block1_x1, block1_x2, block1_x3}
#>
#> Minimum information:
#> 0.613