如何将丰度矩阵转换为存在缺失矩阵,同时保持每个样本的丰度

时间:2018-06-08 18:08:45

标签: r

我正在尝试转换像这样的丰度矩阵:

enter image description here

进入这样的矩阵:

enter image description here

通过这种方式,我可以在每个人群中保留丰富的单倍型。

2 个答案:

答案 0 :(得分:0)

library(data.table)
dat=data.frame(population=LETTERS[1:2],halotype1=c(2,0),halotype2=c(0,2))
m=suppressWarnings(setDT(dat)[,lapply(.SD,rep,x = 1),by=population])
replace(m,is.na(m),0)
   population halotype1 halotype2
1:          A         1         0
2:          A         1         0
3:          B         0         1
4:          B         0         1

答案 1 :(得分:0)

感谢您的代码。

然而,当矩阵看起来像这样时,代码似乎存在问题:

Population	haplotype1	haplotype2
	1		1	0
	1		1	0
	2		1	1
	2		1	1
	2		1	1
	2		1	1

运行代码后,我希望有一个像这样的矩阵:

var str = string.Join(" ",bigNumbers);
Console.WriteLine("Big: " + str);

相反,我得到的是:

CreateView

获得我期待的矩阵的代码是什么?