Skip to contents

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 = 4, q = 0.1, 
                         benchmark_highdens = 5)

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: 15
#> Columns: 5
#> $ h   <int> 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 20
#> $ c_x <dbl> 0.52446018, 0.83669027, 0.05611504, 0.36834513, 0.68057522, 0.9928…
#> $ c_y <dbl> -0.08923607, -0.08923607, 0.18116312, 0.18116312, 0.18116312, 0.18…
#> $ n_h <dbl> 116, 82, 193, 674, 529, 243, 87, 601, 244, 355, 183, 627, 669, 318…
#> $ w_h <dbl> 0.0232, 0.0164, 0.0386, 0.1348, 0.1058, 0.0486, 0.0174, 0.1202, 0.…

## high-D model
glimpse(model$model_highd)
#> Rows: 15
#> Columns: 8
#> $ h  <int> 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 20
#> $ x1 <dbl> -0.65593222, 0.61133744, -0.73103003, -0.89514618, 0.08339132, 0.92…
#> $ x2 <dbl> 1.8395351, 1.8412880, 0.5738279, 1.1114861, 1.1257532, 1.2351336, 0…
#> $ x3 <dbl> 1.67553657, 1.76632378, 0.34627666, 1.00269952, 1.92118704, 1.31838…
#> $ x4 <dbl> 1.863616e-03, -3.836598e-03, -6.187420e-04, 3.191832e-04, -2.050723…
#> $ x5 <dbl> 1.429215e-03, 1.835723e-04, -2.182770e-04, -4.223477e-04, 4.798172e…
#> $ x6 <dbl> -8.692506e-03, -7.624674e-03, -7.292711e-03, 9.179897e-04, -4.76393…
#> $ x7 <dbl> 4.629718e-04, 6.570371e-04, -1.910908e-04, 4.193534e-04, -1.295853e…

## wireframe data
glimpse(model$trimesh_data)
#> Rows: 30
#> Columns: 8
#> $ from       <int> 3, 3, 4, 1, 4, 5, 7, 8, 8, 2, 9, 5, 9, 10, 12, 13, 6, 13, 3…
#> $ to         <int> 4, 8, 5, 4, 9, 9, 11, 12, 9, 5, 10, 6, 13, 14, 13, 14, 10, 
#> $ x_from     <dbl> 0.05611504, 0.05611504, 0.36834513, 0.52446018, 0.36834513,
#> $ y_from     <dbl> 0.18116312, 0.18116312, 0.18116312, -0.08923607, 0.18116312…
#> $ x_to       <dbl> 0.36834513, 0.21223009, 0.68057522, 0.36834513, 0.52446018,
#> $ y_to       <dbl> 0.18116312, 0.45156231, 0.18116312, 0.18116312, 0.45156231,
#> $ from_count <dbl> 193, 193, 674, 116, 674, 529, 87, 601, 601, 82, 244, 529, 2…
#> $ to_count   <dbl> 674, 601, 529, 674, 244, 244, 183, 627, 244, 529, 355, 243,

## NLDR object
glimpse(model$nldr_obj)
#> List of 3
#>  $ scaled_nldr: tibble [5,000 × 3] (S3: tbl_df/tbl/data.frame)
#>   ..$ emb1: num [1:5000] 0.707 0.231 0.232 0.79 0.761 ...
#>   ..$ emb2: num [1:5000] 0.839 0.401 0.215 0.564 0.551 ...
#>   ..$ ID  : int [1:5000] 1 2 3 4 5 6 7 8 9 10 ...
#>  $ lim1       : num [1:2] -14.4 13.3
#>  $ lim2       : num [1:2] -12.4 12.3

## Hexagonal object
glimpse(model$hb_obj)
#> List of 11
#>  $ a1         : num 0.312
#>  $ a2         : num 0.27
#>  $ bins       : num [1:2] 4 5
#>  $ start_point: num [1:2] -0.1 -0.0892
#>  $ centroids  : tibble [20 × 3] (S3: tbl_df/tbl/data.frame)
#>   ..$ h  : int [1:20] 1 2 3 4 5 6 7 8 9 10 ...
#>   ..$ c_x: num [1:20] -0.1 0.2122 0.5245 0.8367 0.0561 ...
#>   ..$ c_y: num [1:20] -0.0892 -0.0892 -0.0892 -0.0892 0.1812 ...
#>  $ hex_poly   :'data.frame': 120 obs. of  3 variables:
#>   ..$ h: int [1:120] 1 1 1 1 1 1 2 2 2 2 ...
#>   ..$ x: num [1:120] -0.1 -0.2561 -0.2561 -0.1 0.0561 ...
#>   ..$ y: num [1:120] 0.09103 0.000897 -0.179369 -0.269502 -0.179369 ...
#>  $ data_hb_id : tibble [5,000 × 4] (S3: tbl_df/tbl/data.frame)
#>   ..$ emb1: num [1:5000] 0.707 0.231 0.232 0.79 0.761 ...
#>   ..$ emb2: num [1:5000] 0.839 0.401 0.215 0.564 0.551 ...
#>   ..$ ID  : int [1:5000] 1 2 3 4 5 6 7 8 9 10 ...
#>   ..$ h   : int [1:5000] 15 10 6 12 12 14 8 10 10 6 ...
#>  $ std_cts    : tibble [16 × 3] (S3: tbl_df/tbl/data.frame)
#>   ..$ h  : int [1:16] 3 4 5 6 7 8 9 10 11 12 ...
#>   ..$ n_h: int [1:16] 116 82 193 674 529 243 87 601 244 355 ...
#>   ..$ w_h: num [1:16] 0.0232 0.0164 0.0386 0.1348 0.1058 ...
#>  $ b          : int 20
#>  $ m          : int 16
#>  $ pts_bins   : tibble [16 × 2] (S3: tbl_df/tbl/data.frame)
#>   ..$ h       : int [1:16] 3 4 5 6 7 8 9 10 11 12 ...
#>   ..$ pts_list:List of 16
#>  - attr(*, "class")= chr "hex_bin_obj"