2012-12-13 4 views
5

行列があり、5番目の列の型を文字から数値に変更したいのですが、できません。私はこれを試した:行列の型を変更するにはR

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

しかし、再び列クラスは文字ではない数値です。私は何をすべきか? ありがとうございました

+5

マトリックスには1つのデータ型しか持てません。 – Marius

+0

@マリアス実際に私はこの列に基づいて私の行列を注文する必要がありますが、私はキャラクターではなく数字の表示に基づいて注文する必要があります。方法はありますか? – hora

+3

'test1 [order(as.numeric(test1 [、5]))]'を試してください。 – flodel

答えて

6

@ Marusと同様、マトリックスには1つのデータ型しか格納できません。 data.framesは列ごとに異なるデータ型を保持できるため、行列をdata.frameに変換できます。前後に変換する関数はas.data.frameas.matrixです。投稿した列変換コードをdata.frameに適用することができます。

しかし、あなたの究極の目標は、強制的な列の値に基づいて行列を並べ替えることであるとコメントで述べました。マトリックスを並べ替える前に、列を強制的に強制する必要はありません。

test1[order(as.numeric(test1[, 5])), ] 
関連する問題