我有两个类似的数据,如下所示:
df1 <-structure(
list(
sample_id = c(1L, 1L, 1L, 1L, 2L, 2L),
motif = c("CT-G.A", "TA-C.C", "TC-G.C", "TC-G.C", "CG-A.T", "CA-G.T"),
chromosome = c("chr1", "chr1", "chr2", "chr2", "chr2", "chr2"),
position = c(7300L, 1000L, 1200L, 3000L, 12000L, 2000L)
),
.Names = c("sample_id", "motif", "chromosome", "position"),
class = "data.frame",
row.names = c(NA,-6L))
df2 <-structure(
list(
geneID = c("E1", "E2", "E3", "E4", "E5"),
chromosome = c("chr1", "chr1", "chr2", "chr2", "chr2"),
start = c(100L, 1100L, 1200L,400L, 12000L),
end = c(10300L, 20100L, 2000L, 20000L, 20000L)
),
.Names = c("geneID", "chromosome", "start", "end"),
class = "data.frame",
row.names = c(NA,-5L))
df1的每一行都与一个突变相关,df1的第一列是患者的姓名。df1的第二列是该突变的基序,第三列显示其染色体,第四列表示突变发生的位置。
df2的第一列表示基因的名称。第二列代表染色体。第三列和第四列表示基因的开始和结束。
因此,我想从这些数据中创建一个矩阵,每个条目显示在相同基因上具有相同基序的患者数量,如下所示:
E1_CT-G.A E1_TA-C.C ... E5_CA-G.T
E1_CT-G.A 1 1 0
E1_TA-C.C 1 1 0
. . . .
. . . .
. . . .
E5_CA-G.T 0 0 ... 0
i、 e.矩阵的条目(i,j)显示了在
gene\u基序i和gene\u基序j。