RMarkdown: создание двух параллельных тепловых карт с полными границами фигур с использованием пакета pheatmap

Я пишу свой первый отчет в RMarkdown и борюсь с конкретными выравниваниями фигур.

У меня есть некоторые данные, которые я манипулирую в формате, дружественном для пакета pheatmap такой, что он производит вывод HTML тепловой карты. Код, который производит один из них, выглядит следующим образом:

cleaned_mayo<- cleaned_mayo[which(cleaned_mayo$Source=="MayoBrainBank_Dickson"),]

# Segregate data
ad<- cleaned_mayo[which(cleaned_mayo$Diagnosis== "AD"),-c(1:13)]
control<- cleaned_mayo[which(cleaned_mayo$Diagnosis== "Control"),-c(1:13)]

# Average data across patients and assign diagnoses
ad<- as.data.frame(t(apply(ad,2, mean)))
control<- as.data.frame(t(apply(control,2, mean)))
ad$Diagnosis<- "AD"
control$Diagnosis<- "Control"

# Combine
avg_heat<- rbind(ad, control)

# Rearrange columns
avg_heat<- avg_heat[,c(32, 1:31)]

# Mean shift all expression values
avg_heat[,2:32]<- apply(avg_heat[,2:32], 2, function(x){x-mean(x)})

#################################
# CREATE HEAT MAP
#################################

# Plot average heat map
pheatmap(t(avg_heat[,2:32]), cluster_col= F, labels_col= c("AD", "Control"),gaps_col = c(1), labels_row = colnames(avg_heat)[2:32],
         main= "Mayo Differential Expression for Genes of Interest: Averaged Across \n Patients within a Diagnosis",
         show_colnames = T)

Где числовые столбцы cleaned_mayo выглядит как:

         C1QA C1QC C1QB LAPTM5 CTSS FCER1G PLEK CSF1R  CD74 LY86 AIF1 FGD2 TREM2 PTK2B  LYN UNC93B1 CTSC NCKAP1L TMEM119 ALOX5AP LCP1
1924_TCX 1101 1392 1687   1380  380    279  198  1889  6286  127  252  771   338  5795  409     494  337     352     476     170  441
1926_TCX  881  770  950   1064  239    130  132  1241  3188   76  137  434   212  5634  327     419  292     217     464     124  373
1935_TCX 3636 4106 5196   5206 1226    583  476  5588 27650  384 1139 1086   756 14219 1269     869  868    1378    1270     428 1216
1925_TCX 3050 4392 5357   3585  788    472  350  4662 11811  340  865 1051   468 13446  638     420 1047     850     756     616 1008
1963_TCX 3169 2874 4182   2737  828    551  208  2560 10103  204  719  585   499  9158  546     335  598     593     606     418  707
7098_TCX 1354 1803 2369   2134  634    354  245  1829  8322  227  593  371   411 10637  504     294  750     458     367     490  779
         ITGAM LPCAT2 LGALS9  GRN MAN2B1 TYROBP CD37 LAIR1 CTSZ CYTH4
1924_TCX   376    649    699 1605    618    392  328   628 1774   484
1926_TCX   225    381    473 1444    597    242  290   321 1110   303
1935_TCX   737   1887    998 2563    856    949  713  1060 2670   569
1925_TCX   634   1323    575 1661    594    562  421  1197 1796   595
1963_TCX   508    696    429 1030    355    556  365   585 1591   360
7098_TCX   418   1011    318 1574    354    353  179   471 1471   321

Весь этот код обернут вокруг следующего заголовка в среде RMarkdown: {r heatmaps, echo=FALSE, results="asis", message=FALSE},

Чего я хотел бы добиться, так это двух тепловых карт, расположенных рядом друг с другом с черными ящиками вокруг каждой отдельной тепловой карты (то есть содержащей заголовок и легенду тепловой карты).

Если бы кто-нибудь мог сказать мне, как это сделать, или один из них по отдельности, это было бы очень признательно.

Спасибо!

0 ответов

Другие вопросы по тегам