【发布时间】:2014-07-28 10:01:16
【问题描述】:
我有很多字符串(DNA 读取的几个 k-mers)。它存储在 R 语言矩阵(或数组?)中,f.e.:
allKmers <- character()
allKmers <- c(allKmers,c("ACG", "CGT", "GTA", "TAC")) # V1
allKmers <- c(allKmers,c("GTA", "TAC", "ACG", "CGC")) # V2
allKmers <- c(allKmers,c("TAA", "AAT", "ATA", "TAA")) # V3
arrayKmers <- array(allKmers, dim = c(4,3), dimnames = NULL) # this is it!
然后我可以从因子中获得所有独特的水平:
levels(as.factor(arrayKmers))
[1] "AAT" "ACG" "ATA" "CGC" "CGT" "GTA" "TAA" "TAC"
你看到了吗? 8 级。
然后我想得到 3 个具有 8 个值的向量,对应于在 V1、V2 和 V3 中满足此级别的频率,例如:
< 0, 1, 0, 0, 1, 1, 0, 1 > # V1
< 0, 1, 0, 1, 0, 1, 0, 1 > # V2
< 2, 0, 1, 0, 0, 0, 1, 0 > # V3
有没有什么简单的方法可以得到这个向量?可能是一些不错的功能?我可以手动编码,但您可能知道一些更好的工具吗?然后我会计算 dist 矩阵,做聚类,blablabla。
【问题讨论】:
标签: r vector matrix cluster-analysis frequency