1. Quick start

library(quollr)
library(tibble)

This provides a quick introduction. We’ll walk through fitting models to high-dimensional data and a 2-D embedding, and show how to inspect the key outputs.

model <- fit_highd_model(highd_data = scurve, 
                         nldr_data = scurve_umap, 
                         b1 = 21, q = 0.1, 
                         hd_thresh = 0)

The output of fit_highd_model() is a named list containing several components. Let’s take a quick look at each:

## 2-D model
glimpse(model$model_2d)
#> Rows: 251
#> Columns: 5
#> $ h   <int> 58, 68, 69, 70, 71, 72, 73, 78, 79, 90, 91, 92, 93, 94, 95, 96, 98…
#> $ c_x <dbl> 0.7804473, 0.1641342, 0.2228307, 0.2815272, 0.3402237, 0.3989202, …
#> $ c_y <dbl> -0.01401484, 0.03681781, 0.03681781, 0.03681781, 0.03681781, 0.036…
#> $ n_h <dbl> 4, 1, 5, 6, 9, 5, 3, 3, 6, 7, 5, 2, 1, 5, 9, 1, 1, 5, 6, 10, 1, 4,…
#> $ w_h <dbl> 0.004, 0.001, 0.005, 0.006, 0.009, 0.005, 0.003, 0.003, 0.006, 0.0…

## high-D model
glimpse(model$model_highd)
#> Rows: 251
#> Columns: 8
#> $ h  <int> 58, 68, 69, 70, 71, 72, 73, 78, 79, 90, 91, 92, 93, 94, 95, 96, 98,…
#> $ x1 <dbl> -0.37105188, 0.95812568, 0.85450337, 0.73126005, 0.47416208, 0.2648…
#> $ x2 <dbl> 1.90644261, 0.08539250, 0.09171102, 0.12907776, 0.10794141, 0.12362…
#> $ x3 <dbl> 1.922623, 1.286348, 1.507735, 1.676232, 1.877526, 1.962058, 1.99642…
#> $ x4 <dbl> -0.0082718681, 0.0026502232, 0.0051225053, -0.0043335180, -0.002598…
#> $ x5 <dbl> 0.0018876029, 0.0170739819, 0.0003245598, 0.0021079776, 0.000127695…
#> $ x6 <dbl> 0.016977853, 0.087550004, -0.013016748, -0.035630709, 0.007849772, …
#> $ x7 <dbl> 0.0028050043, -0.0024864689, -0.0039496434, -0.0024049571, 0.001697…

## wireframe data
glimpse(model$trimesh_data)
#> Rows: 655
#> Columns: 10
#> $ from           <int> 69, 68, 70, 69, 90, 90, 110, 131, 131, 111, 91, 91, 111…
#> $ to             <int> 90, 69, 91, 70, 111, 91, 132, 152, 132, 112, 92, 112, 1…
#> $ x_from         <dbl> 0.2228307, 0.1641342, 0.2815272, 0.2228307, 0.1934824, …
#> $ y_from         <dbl> 0.03681781, 0.03681781, 0.03681781, 0.03681781, 0.08765…
#> $ x_to           <dbl> 0.1934824, 0.2228307, 0.2521789, 0.2815272, 0.2228307, …
#> $ y_to           <dbl> 0.08765046, 0.03681781, 0.08765046, 0.03681781, 0.13848…
#> $ from_count     <dbl> 5, 1, 6, 5, 7, 7, 4, 1, 1, 6, 5, 5, 6, 6, 6, 7, 3, 3, 5…
#> $ to_count       <dbl> 7, 5, 5, 6, 6, 5, 7, 3, 7, 6, 2, 6, 3, 1, 9, 3, 7, 3, 1…
#> $ from_reindexed <int> 3, 2, 4, 3, 10, 10, 22, 35, 35, 23, 11, 11, 23, 24, 4, …
#> $ to_reindexed   <int> 10, 3, 11, 4, 23, 11, 36, 49, 36, 24, 12, 24, 37, 25, 5…

## NLDR object
glimpse(model$nldr_obj)
#>  NULL

## Hexagonal object
glimpse(model$hb_obj)
#> List of 11
#>  $ a1         : num 0.0587
#>  $ a2         : num 0.0508
#>  $ bins       : num [1:2] 21 28
#>  $ start_point: num [1:2] -0.1 -0.116
#>  $ centroids  : tibble [588 × 3] (S3: tbl_df/tbl/data.frame)
#>   ..$ h  : int [1:588] 1 2 3 4 5 6 7 8 9 10 ...
#>   ..$ c_x: num [1:588] -0.1 -0.0413 0.0174 0.0761 0.1348 ...
#>   ..$ c_y: num [1:588] -0.116 -0.116 -0.116 -0.116 -0.116 ...
#>  $ hex_poly   :'data.frame': 3528 obs. of  3 variables:
#>   ..$ h: int [1:3528] 1 1 1 1 1 1 2 2 2 2 ...
#>   ..$ x: num [1:3528] -0.1 -0.1293 -0.1293 -0.1 -0.0707 ...
#>   ..$ y: num [1:3528] -0.0818 -0.0987 -0.1326 -0.1496 -0.1326 ...
#>  $ data_hb_id : tibble [1,000 × 4] (S3: tbl_df/tbl/data.frame)
#>   ..$ emb1: num [1:1000] 0.277 0.697 0.779 0.173 0.218 ...
#>   ..$ emb2: num [1:1000] 0.913 0.538 0.399 0.953 0.983 ...
#>   ..$ ID  : int [1:1000] 1 2 3 4 5 6 7 8 9 10 ...
#>   ..$ h   : int [1:1000] 427 287 226 446 468 495 132 292 415 229 ...
#>  $ std_cts    : tibble [251 × 3] (S3: tbl_df/tbl/data.frame)
#>   ..$ h  : int [1:251] 58 68 69 70 71 72 73 78 79 90 ...
#>   ..$ n_h: int [1:251] 4 1 5 6 9 5 3 3 6 7 ...
#>   ..$ w_h: num [1:251] 0.004 0.001 0.005 0.006 0.009 0.005 0.003 0.003 0.006 0.007 ...
#>  $ b          : int 588
#>  $ m          : int 251
#>  $ pts_bins   : tibble [251 × 2] (S3: tbl_df/tbl/data.frame)
#>   ..$ h       : int [1:251] 58 68 69 70 71 72 73 78 79 90 ...
#>   ..$ pts_list:List of 251
#>  - attr(*, "class")= chr "hex_bin_obj"