【发布时间】:2013-06-21 09:35:28
【问题描述】:
我有一个 2 列的矩阵,矩阵的开头如下所示:
SNP Pi1
[1,] "SNP_Label" "Pi1"
[2,] "rs482519" "0.3722219"
[3,] "rs12196956" "0.3212364"
[4,] "CNV548726" "0.3112315"
[5,] "CNV356212" "0.3078721"
[6,] "rs4792617" "0.3023402"
[7,] "CNV2095401" "0.2979626"
[8,] "CNV4528251" "0.29391"
[9,] "rs9369426" "0.2860793"
[10,] "rs31672" "0.2790241"
[11,] "rs1323446" "0.2778401"
规范是我想把以“rs”开头的SNP和以“CNV”开头的SNP分开,并为每个得到一个新的矩阵2 种类型的 SNPS 及其对应的 Pi1 值。 SNP 的名称都是随机的,因此“rs”或“CNV”将随机出现在列中。
我想我可能需要一个 for 循环来遍历 SNP 列中每个条目的前 2 个字符,但我不知道这是否正确。
【问题讨论】:
-
...为什么您的数据是矩阵而不是数据框?你确定你已经正确导入了吗?
-
我不确定。我总是使用
data <- read.table()导入数据。这是否将我的数据作为矩阵或 data.frame 提供给我?有区别吗?? -
对。您需要使用
read.table(*, header=TRUE)导入。看到矩阵的第一行了吗?这些是您的列名。如果没有header=TRUE位,R 会将它们视为数据的一部分。除了给你一个虚假的行之外,它还弄乱了第二列,R 已经将它作为文本而不是数字导入,我猜它应该是这样的。
标签: r row multiple-columns bioinformatics