【发布时间】:2015-09-21 00:29:32
【问题描述】:
我有这个矩阵叫做mymat(大约446664 X 234的暗淡)。它有 REF 和 ALT 列,它们可以有任何 A、T、G、C 字母(只有一个字母)。在以.GT 结尾的列中,我想替换这些字母。要匹配的条件是,如果有 0,我想用 REF 列中的字母替换它,如果有 1,那么我想用 ALT 列中的字母替换它。如果有 NA,我想用“0”“0”替换它(即零空间零)。最后,我需要将所有 .GT 列反转(转置),如结果所示。结果,一切都被空格隔开。
mymat<-structure(c("G", "A", "C", "A", "G", "A", "C", "T", "G", "A",
"1/1", "0/0", "0/0", "NA", "NA", "0,15", "8,0", "8,0", "NA",
"NA", "1/1", "0/1", "0/0", "NA", "NA", "0,35", "12,12", "15,0",
"NA", "NA"), .Dim = 5:6, .Dimnames = list(c("chrX:133511988:133511988:G:A:snp",
"chrX:133528116:133528116:A:C:snp", "chrX:133528186:133528186:C:T:snp",
"chrX:133560301:133560301:A:G:snp", "chrX:133561242:133561242:G:A:snp"
), c("REF", "ALT", "02688.GT", "02688.AD", "02689.GT", "02689.AD"
)))
结果
02688.GT A A A A C C 0 0 0 0
02689.GT A A A C C C 0 0 0 0
【问题讨论】:
-
如果一列有缺失值,那么所有列都有缺失值?
-
@atiretoo 不,事实并非如此,它独立于任何列并且可以具有任何值。
-
所以结果中的行可以有不同的长度?
-
@atiretoo 不,长度也将相同。
-
怎么样?带有 0/0 或 1/0 的条目......哦。对。