5

私はRbigmemoryでパッケージを使おうとしていますが、最初から立ち往生しています。そうです:

temp <- matrix(paste("a",1:10), 5, 2)

文字行列を取得します。それで大丈夫です。しかし、私は試してみます:

x <- as.big.matrix(temp, type="char")

NAでいっぱいのマトリックスと次のメッセージが表示されます。

Assignment will down cast from double to char
Hint: To remove this warning type:  options(bigmemory.typecast.warning=FALSE)
Warning messages:
1: In as.big.matrix(temp, type = "char") : Casting to numeric type
2: In matrix(as.numeric(x), nrow = nrow(x), dimnames = dimnames(x)) :
NAs introduced by coercion
3: In SetElements.bm(x, i, j, value) :

何が起こっているのかわかりませんが、大きく見えます。matrixは、にもかかわらず、すべてのテキストを数値に変換しようとしますtype = "char"。それを機能させる方法は?

4

1 に答える 1

7

これは少し誤称です。big.matrixオブジェクトは数値データ型のみを格納します。'char'型は、ASCII文字コード(文字列ではなく単一文字)を表す整数値を格納するために使用されるC++データ型です。文字列をbig.matrixに格納するには、文字列を数値として再コーディングする必要があります(または、係数に変換してから数値に変換する必要があります)。

文字データを非常に大きなデータセットに格納する必要がある場合は、「ff」パッケージを調べることをお勧めします。私の経験では、学習曲線が急で、ドキュメントがやや不足していますが、その機能はあります。

大規模なデータセットの処理の詳細については、CRANタスクビューをここで確認できます:http://cran.r-project.org/web/views/HighPerformanceComputing.html

于 2012-12-11T21:48:23.397 に答える