У меня есть список взаимодействий, где первый столбец содержит различные лекарства, а второй столбец содержит гены, с которыми взаимодействует лекарство.
Например, код ниже:
DGIdbpractice <- data.frame(c("drug1", "drug1", "drug1", "drug2", "drug2", "drug3","drug3","drug3"), c("gene1", "gene2", "gene3", "gene2", "gene3", "gene1", "gene3", "gene4"))
names(DGIdbpractice) <- c("drug", "gene")
Создает кадр данных, который выглядит следующим образом:
drug gene
1 drug1 gene1
2 drug1 gene2
3 drug1 gene3
4 drug2 gene2
5 drug2 gene3
6 drug3 gene1
7 drug3 gene3
8 drug3 gene4
Я хочу создать матрицу сходства, сравнивающую каждый препарат с самим собой и друг с другом, где значения в матрице представляют, сколько генов они взаимодействуют с.
Это должно выглядеть как приведенная ниже матрица:
gene1 gene2 gene3
drug1 3 2 2
drug2 2 2 1
drug3 2 1 3
Я не хочу использовать несколько циклов, так как фактический набор данных содержит более 4000 лекарств.
Спасибо.