我有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"
該規範是,我想的是開始的SNP與「RS」從與開始的SNP分離「CNV」,並且獲得兩種類型的SNPS中的每一種的新矩陣及其相應的Pi1值。 SNP的名稱都是隨機的,因此「rs」或「CNV」將隨行出現在逐列的列中。
我想我可能需要一個for循環來運行SNP列中每個條目的前2個字符,但我不知道這是正確與否。
...爲什麼你的數據是一個矩陣而不是數據框?你確定你輸入正確嗎? –
im不知道。我總是使用'data < - read.table()'導入數據。這是否會將我的數據作爲矩陣或data.frame?有沒有區別? – zfz
對。您需要使用'read.table(*,header = TRUE)'導入。看到矩陣的第一行?這些是你的列名。如果沒有'header = TRUE'位,R會將它們視爲數據的一部分。除了給你一個虛假的行之外,它還搞亂了第二列,這個列已經作爲文本導入而不是數字,我猜它應該是什麼。 –