我有一个像这样的数据框MutationsNumberTable
ACC BLCA BRCA CESC HGNC
1: 1 2 6 0 OPN4
2: 2 3 1 1 KLRB1
3: 2 23 4 5 SALL2
4: 1 8 5 7 PLCB2
目标是创建一个矩阵,其中我具有唯一的“基因癌类型”对,其中表中的数字大于阈值(比方说,为5):
所需的输出:
HGNC Cancer
1: OPN4 CESC
2: SALL2 BRCA
3: SALL2 CESC
4: PLCB2 BLCA
5: PLCB2 BRCA
6: PLCB2 CESC
到目前为止,我可以提出以下建议:
n = ncol(MutationsNumberTable)
whereTrue = MutationsNumberTable[,1:(n-1)] >=threshold
但是在使用这些逻辑值制作我需要的矩阵之后,我遇到了困难。我尝试过
colnames(whereTrue)[whereTrue]
但这并不是我真正需要的。
答案 0 :(得分:5)
我们可以将<canvas id="canvas" />
设为'long'格式,然后gather
filter
或使用library(dplyr)
library(tidyr)
gather(df1, Cancer, val, -HGNC) %>%
filter(val >= 5) %>%
select(-val)
data.table