Проблема
У меня есть расплавленный кадр данных 19 различных типов опухолей, каждый из которых связан с маркерными генами. Я хочу визуализировать сходство между типами опухолей, чтобы увидеть, как они группируются. У меня есть план для решения этой проблемы, но кажется, что должен быть более простым способом.
Dummy Data
>df <- data.frame(tumor_type = c("tumor1", "tumor1", "tumor1", "tumor2", "tumor2", "tumor3", "tumor4", "tumor4"), genes = c("geneA", "geneB", "geneC", "geneA", "geneD", "geneD", "geneA", "geneD"))
>df
tumor_type genes
tumor1 geneA
tumor1 geneB
tumor1 geneC
tumor2 geneA
tumor2 geneD
tumor3 geneD
tumor4 geneA
tumor4 geneD
Предлагаемое решение
1) Разбить расплавленный массив данных на отдельные списки опухолей
2) Рассчитать попарные оценки сходства между всеми комбинациями опухолей. Мне придется сделать что-то вроде l oop, используя (пересекаются (опухоль1, опухоль2) / (пересекаются (опухоль1, опухоль2) + setdiff (опухоль1, опухоль2) + setdiff (опухоль2, опухоль1)) * 100.
Должен получить матрицу, такую как:
>dfmatrix
tumor1 tumor2 tumor3 tumor4
tumor1 100 25 0 25
tumor2 25 100 50 50
tumor3 0 50 100 50
tumor4 25 50 50 100
3) Затем я сделаю стандартную тепловую карту
Мне понадобится помощь в выяснении отдельных компонентов (например, как сделать l * 1025). * делать все парные сравнения), но я подумал, что мне следует начать с более высокого уровня, чтобы убедиться, что мои мысли об этом процессе верны, прежде чем задавать кучу разных вопросов по деталям.