##PACKAGES
library(tidyverse,quietly=TRUE)
library(TraMineR)
library(WeightedCluster, quietly = TRUE)
library(viridis)
library(seqhandbook, quietly = TRUE)
Here is a representation of my dataset:
mydata<-structure(list(T1 = structure(c("ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN"
), label = "Type chir. bariat."),
T2 = structure(c("ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ABL", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN"), label = "Type chir. bariat."),
T3 = structure(c("ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN"), label = "Type chir. bariat."),
T4 = structure(c("ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN",
"ANN", "ANN", "ANN", "ANN", "ABL", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN"), label = "Type chir. bariat."),
T5 = structure(c("ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN",
"ANN", "ANN", "ANN", "ANN", "ABL", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN"), label = "Type chir. bariat."),
T6 = structure(c("ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN",
"ANN", "ANN", "ANN", "ANN", "SLE", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN"), label = "Type chir. bariat."),
T7 = structure(c("ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN",
"ANN", "ANN", "ANN", "ANN", "SLE", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ABL"), label = "Type chir. bariat."),
T8 = structure(c("ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN",
"ANN", "ANN", "ANN", "ANN", "SLE", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ABL"), label = "Type chir. bariat."),
T9 = structure(c("ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN",
"ANN", "ANN", "ANN", "ANN", "SLE", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ABL"), label = "Type chir. bariat."),
T10 = structure(c("ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN",
"ANN", "ANN", "ANN", "ANN", "SLE", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ABL"), label = "Type chir. bariat."),
T11 = structure(c("ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN",
"ANN", "ANN", "ANN", "ANN", "SLE", "ANN", "ANN", "ANN", "ABL",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "SLE"), label = "Type chir. bariat."),
T12 = structure(c("ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN",
"ANN", "ANN", "ANN", "ANN", "SLE", "ANN", "ANN", "ANN", "ABL",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "SLE"), label = "Type chir. bariat."),
T13 = structure(c("ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN",
"ANN", "ANN", "ANN", "ANN", "SLE", "ANN", "ANN", "ANN", "BPG",
"ANN", "ANN", "ABL", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "SLE"), label = "Type chir. bariat."),
T14 = structure(c("ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN",
"ANN", "ANN", "ANN", "ANN", "SLE", "ANN", "ANN", "ANN", "BPG",
"ANN", "ANN", "ABL", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "SLE", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "SLE"), label = "Type chir. bariat."),
T15 = structure(c("ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN",
"ANN", "ANN", "ANN", "ANN", "SLE", "ANN", "ANN", "ANN", "BPG",
"ANN", "ANN", "SLE", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "SLE", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "SLE"), label = "Type chir. bariat."),
T16 = structure(c("ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN",
"ANN", "ANN", "ANN", "ANN", "SLE", "ANN", "ANN", "ANN", "BPG",
"ANN", "ANN", "SLE", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "SLE", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "SLE"), label = "Type chir. bariat."),
T17 = structure(c("ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN",
"ANN", "ANN", "ANN", "ANN", "SLE", "ANN", "ANN", "ANN", "BPG",
"ANN", "ANN", "SLE", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "SLE", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "SLE"), label = "Type chir. bariat."),
T18 = structure(c("ANN",
"ABL", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN",
"ANN", "ANN", "ANN", "ANN", "SLE", "ANN", "ANN", "ANN", "BPG",
"ANN", "ANN", "SLE", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "SLE", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "SLE"), label = "Type chir. bariat."),
T19 = structure(c("ANN",
"ABL", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN",
"ANN", "ANN", "ANN", "ANN", "SLE", "ANN", "ANN", "ANN", "BPG",
"ANN", "ANN", "SLE", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "SLE", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "SLE"), label = "Type chir. bariat."),
T20 = structure(c("ANN",
"ABL", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN", "ABL", "ANN",
"ANN", "ANN", "ANN", "SLE", "SLE", "ANN", "ANN", "ANN", "BPG",
"ANN", "ANN", "SLE", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "SLE", "ANN", "ANN", "ANN", "ANN", "ANN", "ANN",
"ANN", "ANN", "ANN", "SLE"), label = "Type chir. bariat.")),
row.names = c(NA,-50L), class = c("tbl_df", "tbl", "data.frame"))
I want to plot a graphic and the legends next to each other, since apparently, the function seqheatmap from seqhandbook
does not display the legends.
I have done the two separately and want to do this with the function layout from R base
My code for the creation of sequences
# ALPHABETS AND LABELS
labels <- sort(c("ANN","SLE","BPG","BPD","ABL","DCD"))
Etats_lng<-c("Ablation","Anneau","Derivation bilio-pancréatique","By-pass gastrique",
"Décès","Sleeve")
seq <- seqdef(
mydata[, paste("T",1:20,sep = "")],
alphabet = labels,
states = Etats_lng,
cpal = viridis(6, direction = -1)
)
# distances
couts <- seqsubm(seq, method = "CONSTANT", cval = 2)# Matrice des couts de substitution
seq.dist<- seqdist(seq, method = "OM", indel = 1, sm = couts)# Distance avec optimal-Matching
seq.hclust <- hclust(as.dist(seq.dist), method = "ward.D2") #Clustering des trajectoire
#SETTING OF LAYOUT
layout.matrix <- matrix(c(1,2), nrow = 1, ncol = 2)
layout(mat = layout.matrix,
widths = c(3,1) )# Widths of the two columns
layout.show(2)
In the first frame, I want to put the heatmap and in the second one the legends
But I doest works
seq_heatmap(seq, seq.hclust)
seqlegend(seq)
Function layout
does not work in your example because layout
cannot be nested and heatmap
(invoked by seq_heatmap
) already uses layout
to generate the Heat Map.
The only solution I see is to retrieve the source code of function heatmap
(from stats), rename it say myheatmap
, and modify it to add the display of the color legend.
To retrieve the code of heatmap
myheatmap <- heatmap
edit(myheatmap)
For edit
to work, you may have to specify the editor. Alternatively, you can use View
and copy paste the content in the editor of your choice.