Create heatmap from table, error "'XVariable' value must reference a single variable in the source table."
Mostrar comentarios más antiguos
Hello,
I have a problem when trying to create a heatmap from this table

I want the y axis to display the IDs and the x axis to display the 6 different Snacks, the table is about the Liking mean_rating of the IDs for the snacks (nevermind the phases column).
When I try to create a heatmap with
heatmap(data_mean_liking, data_mean_liking.Snack, data_mean_liking.ID)
it gives me the following error: "'XVariable' value must reference a single variable in the source table."
I don't really understand the error message or how to display the heatmap I want.
Thanks for the help!
Edit: I have included part of the table for trying out.
Respuestas (1)
dpb
el 21 de Feb. de 2021
The x,y variables for a table are given as the names of the wanted columns; the dot notation returns the data.
heatmap(data_mean_liking, 'Snack', 'ID')
7 comentarios
Anna
el 21 de Feb. de 2021
It scales color to the total the number of times each pair of x and y values appears together.
That would indicate your data are pretty-much spread all over, not concentrated in any given set of IDs.
Looking at the data given, it certainly appears each ID/Snack combination exists the same number of times..whether that's a replication of one or N is unknown, but looks to to be simply that.
Anna
el 21 de Feb. de 2021
Ah! You're right on the corresponding value to the color map. I didn't try to read the value from it. On to the real problem--
You don't seem to have a "level of approval" categorical or range variable in the above data--there is the 'Rating_Mean' variable but it seems to be a calculated value that also as is would likely just be one value per cell.
It looks like maybe need to discretize it over whatever range it runs into some 4-5 levels and then use that new categorical(?) variable instead.
Anna
el 22 de Feb. de 2021
dpb
el 22 de Feb. de 2021
The issue is that the heatmap function will count every element as different even if the average rating differs by only machine epsilon--it is every unique cross-comparison which almost certainly will end up also be 1:1 for each cell just as is the ID.
Are the 'phases' discrete rankings or independent trials or what?
However you try to agglomerate over levels will be some loss of individual precision, yes, but that's the price you'll have to pay to be able to summarize across multiple snacks/individuals to show trends instead of every separate evaluation as one observation.
I don't see a way around that.
Anna
el 22 de Feb. de 2021
Categorías
Más información sobre Data Distribution Plots en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
