6

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

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

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

4

1 に答える 1

8

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

ただし、コメントで、最終的な目標は、強制された列の値に基づいてマトリックスを並べ替えることであると述べました。行列を並べ替える前に、その場で列を強制する必要はありません。次のようにして、その場ですべて行うことができます。

test1[order(as.numeric(test1[, 5])), ]
于 2012-12-13T11:41:32.920 に答える