Convert a triple_omic object into a tidy_omic oobject.

triple_to_tidy(triple_omic)

Arguments

triple_omic

an object of class triple_omic produced by create_triple_omic

Value

A tidy_omic object as created by create_tidy_omic.

Details

Features, samples and measurements will be merged into a single data table, and the design will be preserved as-is.

Examples


library(dplyr)

measurement_df <- tidyr::expand_grid(
  feature_id = 1:10,
  sample_id = LETTERS[1:5]
) %>%
  dplyr::mutate(value = rnorm(n()))

feature_df <- tibble(
  feature_id = 1:10,
  feature_group = rep(c("a", "b"), each = 5)
)
sample_df <- tibble(
  sample_id = LETTERS[1:5],
  sample_group = c("a", "a", "b", "b", "b")
)

triple_omic <- create_triple_omic(
  measurement_df, feature_df, sample_df,
  "feature_id", "sample_id"
)
triple_to_tidy(triple_omic)
#> $data
#> # A tibble: 50 × 5
#>    feature_id feature_group sample_id sample_group  value
#>         <int> <chr>         <chr>     <chr>         <dbl>
#>  1          1 a             A         a             0.847
#>  2          1 a             B         a            -0.506
#>  3          1 a             C         b            -0.914
#>  4          1 a             D         b            -0.260
#>  5          1 a             E         b             1.65 
#>  6          2 a             A         a             0.688
#>  7          2 a             B         a            -0.387
#>  8          2 a             C         b            -0.284
#>  9          2 a             D         b             0.269
#> 10          2 a             E         b            -1.50 
#> # ℹ 40 more rows
#> 
#> $design
#> $design$features
#> # A tibble: 2 × 2
#>   variable      type               
#>   <chr>         <chr>              
#> 1 feature_id    feature_primary_key
#> 2 feature_group character          
#> 
#> $design$samples
#> # A tibble: 2 × 2
#>   variable     type              
#>   <chr>        <chr>             
#> 1 sample_id    sample_primary_key
#> 2 sample_group character         
#> 
#> $design$measurements
#> # A tibble: 3 × 2
#>   variable   type               
#>   <chr>      <chr>              
#> 1 feature_id feature_primary_key
#> 2 sample_id  sample_primary_key 
#> 3 value      numeric            
#> 
#> $design$feature_pk
#> [1] "feature_id"
#> 
#> $design$sample_pk
#> [1] "sample_id"
#> 
#> 
#> attr(,"class")
#> [1] "tidy_omic" "tomic"     "general"