-10

我有一个输入文本文件,可以在这里下载:下载

我想将文本文件转换为如下所示的 count.matrix:

    1 2 3 4 5 6
  A 3 0 0 0 0 0
  C 0 3 0 0 0 0
  T 0 0 3 0 0 0
  G 0 0 0 3 3 3

这给出了以下感兴趣的序列:ACTGGG

文本文件包含概率分数(计数/ N)我需要过滤掉所有具有 A 的值,这将是矩阵的第一行,第二行将是 C,然后是 C 持有的所有值,等等!任何帮助表示赞赏!

4

1 回答 1

2

我会尝试猜测被问到的内容。

假设您的数据框已命名df,您可以将每列转换为矩阵并将其放入列表中lapply()。例如,我转换为具有两列的矩阵。

seq_len(ncol(df)将使数字序列从 1 到列数,因此转换将遍历所有列。然后matrix()将每一列转换为矩阵。

lapply(seq_len(ncol(df)),function(i) matrix(df[,i],ncol=2))
[[1]]
          [,1]      [,2]
[1,] 0.1682512 0.1589936
[2,] 0.1583613 0.1583613
[3,] 0.2294395 0.1401881

[[2]]
          [,1]      [,2]
[1,] 0.1654002 0.1563962
[2,] 0.1423133 0.1283551
[3,] 0.1913303 0.1068051

[[3]]
          [,1]      [,2]
[1,] 0.2558522 0.3320734
[2,] 0.2304359 0.1847167
[3,] 0.2934963 0.1893830
于 2013-03-12T11:35:06.640 回答