我需要做一个非常普遍的转变,但我忘了它是如何调用的。基本上我有一个矩阵:
我希望每行得到一个不同的矩阵:gene_id, Vx, num
。例如:
WBGene00000001, V1, 0
WBGene00000002, V2, 0
...
我在R
中有一个数据框,那么怎么能在那里找到它?
答案 0 :(得分:2)
这听起来像是一个枢轴/单向操作。最简单的实现是通过tidyverse :: gather()函数:
x = readr::read_csv("gene_id,V1,V2\nWBGene00000001,0,0\nWBGene00000002,0,0")
x
gene_id V1 V2
<chr> <int> <int>
1 WBGene00000001 0 0
2 WBGene00000002 0 0
tidyr::gather(x, varname, value, V1:V2)
gene_id varname value
<chr> <chr> <int>
1 WBGene00000001 V1 0
2 WBGene00000002 V1 0
3 WBGene00000001 V2 0
4 WBGene00000002 V2 0