2012-12-13 27 views
5

我有一個矩陣,我想將第五列類型從字符更改爲數字,但我不能。我試過這個:如何更改R中的矩陣列類型

test1[,5] <- as.numeric(test1[,5]) 

但是,列類又是字符不是數字。我該怎麼辦? 謝謝

+5

在矩陣中只能有一個數據類型。 – Marius

+0

@Marius其實我需要根據這個專欄排列我的矩陣,但是我需要根據數字視圖進行排序而非特性。有沒有辦法? – hora

+3

嘗試'test1 [order(as.numeric(test1 [,5])),]'。 – flodel

回答

6

就像@Marius說的,矩陣只能容納一種數據類型。您可以將矩陣轉換爲data.frame,因爲data.frames可以爲每個列保存不同的數據類型。轉換的功能是as.data.frameas.matrix。然後,您將能夠應用您發佈到data.frame的列轉換代碼。

但是,您在評論中提到,您的最終目標是根據強制列的值對矩陣進行重新排序。在重新排序矩陣之前,您不需要強制列就緒,您可以隨時做所有事情:

test1[order(as.numeric(test1[, 5])), ]