Skip to content

Strange heatmap behavior when handling missing (NA) values #176

Description

@alkaZeltser

I'm working with create.heatmap and encountering odd behavior when dealing with NA values and single-row heatmaps.
The weirdest thing is that the NA missing values seem to be contaminating adjacent cells in certain cases.

I will have to resort to manually replacing NA with a pre-defined color as opposed to using the fill.colour option, which is kind of a waste of a nice feature.

For example:

real.continuous.test.data <-  t(data.frame(
    continuous.data = c(NA, '#3FDADC', '#BFF2F3', '#1FD4D6', NA,'#7FE6E8', '#5FE0E2', '#DFF8F9', '#FFFFFF', '#9FECED')
    ));

categorical.test.data <- t(data.frame(
    categorical.data = c(NA, 'red', 'blue', 'red', NA, 'green', 'yellow', 'purple', 'orange', 'pink')
    ));

# Ex1 Second column inherits NA from first column but the other NA is handled fine?
create.heatmap(
    x = real.continuous.test.data,
    input.colours = TRUE,
    clustering.method = 'none',
    same.as.matrix = TRUE,
    print.colour.key = FALSE
    );

# Ex2 Both second and fourth columns inherit NA from first and fifth column?
create.heatmap(
    x = categorical.test.data,
    input.colours = TRUE,
    clustering.method = 'none',
    same.as.matrix = TRUE,
    print.colour.key = FALSE
    )

# Ex3 Two rows, now the categorical data looks correct but continuous data remains contaminated
create.heatmap(
    x = rbind(categorical.test.data, real.continuous.test.data),
    input.colours = TRUE,
    clustering.method = 'none',
    same.as.matrix = TRUE,
    print.colour.key = FALSE
    )

Ex1:
Screenshot 2024-04-06 at 12 50 11 AM

Ex2:
Screenshot 2024-04-06 at 12 51 04 AM

Ex3:
Screenshot 2024-04-06 at 12 51 52 AM

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions