【发布时间】:2018-03-25 00:02:22
【问题描述】:
我有两个类似的数据如下:
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,j) 显示在 包括gene_motif i 和gene_motif j。
【问题讨论】:
-
或许
crossprod(table(df1[1:2])) -
我需要 df2 来查找基因名称!