[解決済み】Rの整数オーバーフローとは何ですか、そしてどのように起こるのですか?
質問内容
計算中、以下のような警告が表示されます(エラーではありません)。
Warning messages:
1: In sum(myvar, na.rm = T) :
Integer overflow - use sum(as.numeric(.))
この中で
スレッド
の人々は、整数のオーバーフローは単に起こらないと述べています。Rがモダンすぎるか、彼らが正しくないかのどちらかです。しかし、私はここで何をすればいいのでしょうか?もし私が
as.numeric
警告にあるように、私は情報がずっと前に失われているという事実を考慮に入れていないかもしれません。
myvar
は.csvファイルから読み込まれるので、Rはもっと大きなフィールドが必要であることを理解するはずではありませんか?すでに何かを切り取っているのでしょうか?
の最大長はどのくらいですか?
integer
または
numeric
? 他のフィールドタイプ/モードはありますか?
編集部:実行します。
R バージョン 2.13.2 (2011-09-30) プラットフォーム:x86_64-apple-darwin9.8.0/x86_64 (64bit) R Studio内
解決するには?
ヘルプページをご覧いただくと、多くの疑問が解決されると思います。
?integer
. と書いてありますね。
Rは整数ベクトルに32ビット整数を使用します。 表現可能な整数は約±2*10^9に制限されています。
より大きな整数への拡張はR Coreで検討中ですが、近い将来に実現することはないでしょう。
もし、quot;bignum" の容量が必要なら、Martin Maechler の Rmpfrパッケージ [PDF]をご覧ください。Rmpfr」パッケージは、作者の評判が良いのでおすすめです。Martin Maechlerは、Matrixパッケージの開発にも深く関わっており、R Coreにも関わっています。gmp'、'Brobdingnag'、'Ryacas'などの演算パッケージ(後者は記号演算インターフェースも提供しています)などもあります。
次に、リンク先の回答にある批判的なコメントへの対応と、自分の仕事との関連性をどう評価するかですが、次のように考えてみてください。もし、これらの"modern"言語の1つにRと同じ統計機能があれば、おそらくその方向へユーザーが移動することでしょう。しかし、今のところ、Rの方向への移行が進んでいると言えるでしょう。Rは統計学者によって統計のために作られました。
一時期、Lispの亜種で統計パッケージのXlisp-Statがありましたが、その主な開発者・提案者は現在R-Coreのメンバーになっています。一方、初期のR開発者の一人であるRoss Ihakaは。 Lispライクな言語での開発を目指すことを提案しています。 [PDF]をご覧ください。Clojure(英語ではクロージャと発音します)と呼ばれるコンパイルされた言語があり、Rincanterという実験的なインターフェイスがあります。
更新情報
新しいバージョンの R (3.0.+) では、53 ビットの整数がソートされるようになりました (
numeric
仮数)。ベクトル要素に '.Machine$integer.max' を超える値が割り当てられた場合、ベクトル全体が "numeric" (別名 "double") に強制されます。の最大値は
integers
のままですが、以前はオーバーフローが発生していたようなケースで、精度を保つために整数ベクトルを2倍に強制することがあるかもしれません。残念ながら,リスト,行列や配列の次元,ベクタの長さはまだ
integer.max
.
ファイルから大きな値を読み込む場合は、character-classをターゲットにしてから操作した方が無難でしょう。NA値への強制がある場合は、警告が出ます。
関連
-
[解決済み] 不適合な配列のコードエラー
-
[解決済み】RでAIC中に行数が変化するのはなぜですか?そうならないようにするにはどうしたらいいですか?
-
[解決済み】forループを実行すると「要因のレベルセットが異なる」というエラーが発生する
-
[解決済み] JavaScriptで文字列を整数に変換する方法は?
-
[解決済み] Rの代入演算子"="と"<-"の違いは何ですか?
-
[解決済み] 除算を強制的に浮動小数点にするにはどうしたらいいですか?除算は0に切り捨てられ続けますか?
-
[解決済み] Bashで数値を比較するには?
-
[解決済み] 情報を損なわずに因数を整数値に変換するには?
-
[解決済み] CSS overflow-x: visible; and overflow-y: hidden; によるスクロールバーの不具合について
-
[解決済み】Pythonで文字を整数に変換する方法、またその逆は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】基本 - T-検定 -> グループ化因子は正確に2水準でなければならない
-
[解決済み】添え字付き代入でNAを使用することはできません
-
[解決済み】「次のオブジェクトは 'package:xxx' からマスクされています」とはどういう意味ですか?
-
[解決済み】apply()とadply()の出力が異なる件)
-
[解決済み】R Markdown - html出力でフォントサイズとフォントタイプを変更する
-
[解決済み】rbind(deparse.level, ...)でエラー:引数の列の数がRにマッチしていない
-
[解決済み】長いオブジェクトの長さは、短いオブジェクトの長さの倍数ではない?[重複]。
-
[解決済み】R: predict() の数値 'envir' 引数が長さ1でない。)
-
[解決済み】 .subset2(x, i, exact = exact)のエラー:Rの添え字が範囲外である。
-
[解決済み】 eval(expr, envir, enclos) でのエラー : オブジェクトが見つかりません。