This function generates an intensity plot for a specific variable in a mass_dataset object. You can specify the variable either by its ID or its index. Additionally, you can customize the color of data points based on a specific attribute and order the samples accordingly.

intensity_plot(
  object,
  variable_id,
  variable_index,
  color_by,
  order_by,
  desc = FALSE,
  interactive = TRUE
)

Arguments

object

A mass_dataset object.

variable_id

A character string specifying the ID of the variable of interest. If provided, 'variable_index' will be ignored.

variable_index

An integer specifying the index of the variable of interest. If not provided, you can use 'variable_id' to specify the variable by its ID.

color_by

A character string specifying the attribute to color data points. Default is "no", meaning no coloring.

order_by

A character string specifying the attribute to order the samples. Default is "sample_id". If set to "na", no specific order is applied.

desc

A logical value indicating whether to order the samples in descending order. Default is FALSE.

interactive

A logical value indicating whether to create an interactive plot using plotly. Default is TRUE.

Value

A ggplot2 or plotly plot object.

Author

Xiaotao Shen shenxt1990@outlook.com

Examples

data("expression_data")
data("sample_info")
data("sample_info_note")
data("variable_info")
data("variable_info_note")
object =
  create_mass_dataset(
    expression_data = expression_data,
    sample_info = sample_info,
    variable_info = variable_info,
    sample_info_note = sample_info_note,
    variable_info_note = variable_info_note
  )
object
#> -------------------- 
#> massdataset version: 1.0.28 
#> -------------------- 
#> 1.expression_data:[ 1000 x 8 data.frame]
#> 2.sample_info:[ 8 x 4 data.frame]
#> 8 samples:Blank_3 Blank_4 QC_1 ... PS4P3 PS4P4
#> 3.variable_info:[ 1000 x 3 data.frame]
#> 1000 variables:M136T55_2_POS M79T35_POS M307T548_POS ... M232T937_POS M301T277_POS
#> 4.sample_info_note:[ 4 x 2 data.frame]
#> 5.variable_info_note:[ 3 x 2 data.frame]
#> 6.ms2_data:[ 0 variables x 0 MS2 spectra]
#> -------------------- 
#> Processing information
#> 1 processings in total
#> create_mass_dataset ---------- 
#>       Package         Function.used                Time
#> 1 massdataset create_mass_dataset() 2023-10-01 23:24:24

intensity_plot(object = object, variable_index = 1)
intensity_plot(object = object, variable_index = 1, color_by = "class")