フィールドが科学記法の数字から派生した文字列行列があります。文字マトリックスをデータフレームに変換し、数値フィールドで作業したいと思います。行列をデータフレームに変換する間、Rは文字列を因子に変換します。これは、数値の真中の 'e'文字のためかもしれません。 stringAsFactors()オプションがFALSEに設定されている場合、列は文字のままになるため、数値ではありません。例えばRデータフレーム:科学記号表記文字列を含む行列の数値への変換を制御する方法
:
> m
[,1] [,2]
[1,] "1e-07" "4e-06"
[2,] "2e-05" "5e-05"
[3,] "0.03" "1e-07"
> data.frame(m)
X1 X2
1 1e-07 4e-06
2 2e-05 5e-05
3 0.03 1e-07
> class(data.frame(m))
[1] "data.frame"
> df = data.frame(m)
> df
X1 X2
1 1e-07 4e-06
2 2e-05 5e-05
3 0.03 1e-07
> class(df$X1)
[1] "factor"
> class(df$X2)
[1] "factor"
どのように私は数値としてこれらの文字列を解釈するために、データフレームを強制することができますか? data.matrix()は実際に科学的表記法の文字列を数値に変換しますが、中間のdata.matrix()変換ステップを経ることなく、文字マトリックスをデータフレーム変換に直接制御する方法があるかどうかを知りたいと思います。
私はdata.matrix()を使用しています。マトリックス変換のステップを避ける方法はありますか?科学的表記が含まれていない場合、データフレーム変換は文字列の数字を数値に変換します。 –
...これを例に挙げる必要があります。私はそれを再現することはできません。私は上記の例を更新しました。科学的な表記は関係ありません。 'as.data.frame'はまだ要素または文字列を作成します... – Tommy
編集した拡張例を参照してください –