[解決済み] 1L`と`1`の違いは何ですか?
2022-04-21 06:35:39
質問
という記号をよく見かけます。
1L
(または
2L
,
3L
など)がRコードに表示されます。 とはどう違うのでしょうか?
1L
と
1
?
1==1L
は、次のように評価されます。
TRUE
. なぜ
1L
はRコードで使われているのですか?
どのように解決するのですか?
そこで、@James と @Brian は次のように説明しました。 何 3Lの意味。しかし なぜ を使うのでしょうか?
ほとんどの場合、違いはありません。しかし、時には、コードを より速く実行する を消費し メモリ削減 . double ("numeric") ベクターは、1つの要素につき8バイトを使用します。整数ベクトルでは、1要素あたり4バイトしか使いません。大きなベクトルでは、無駄なメモリが少なくなり、CPUが処理する量も少なくなります(つまり、一般的に速くなります)。
これは主にインデックスを扱うときに適用されます。 例えば、整数ベクトルに1を足すと2倍ベクトルになる例です。
x <- 1:100
typeof(x) # integer
y <- x+1
typeof(y) # double, twice the memory size
object.size(y) # 840 bytes (on win64)
z <- x+1L
typeof(z) # still integer
object.size(z) # 440 bytes (on win64)
...ただし、整数を過剰に扱うと危険であることにも注意してください。
1e9L * 2L # Works fine; fast lean and mean!
1e9L * 4L # Ooops, overflow!
...そして @Gavin が指摘したように、整数の範囲はだいたい -2e9 から 2e9 までです。
ただし、これは現在のRのバージョン(2.13)に適用されるものです。Rはいつかこれを変更するかもしれません(64ビット整数が登場し、長さ> 2e9のベクトルが可能になるかもしれません)。安全のために、あなたは
.Machine$integer.max
整数の最大値が必要なときはいつでも(最小値のときはそれを否定して)。
関連
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] オブジェクトの種類を決定しますか?
-
[解決済み] Pythonで型をチェックする標準的な方法は何ですか?
-
[解決済み] グループ化関数(tapply、by、aggregate)と*applyファミリ
-
[解決済み] Pythonの旧スタイルのクラスと新スタイルのクラスの違いは何ですか?
-
[解決済み] Rの代入演算子"="と"<-"の違いは何ですか?
-
[解決済み] textとvarcharの違い(character varying)
-
[解決済み] require()とlibrary()の違いは何ですか?
-
[解決済み] リストやデータフレームの要素にアクセスするためのブラケット[ ]とダブルブラケット[[ ]]の違いについて
-
[解決済み】type()とisinstance()の違いは何ですか?)
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
R言語エラー:図の余白が大きすぎる 解決方法
-
R read.table Error:埋め込まれたヌルが含まれているようです。
-
データボックス内の行/列の削除/追加を行うR言語
-
R言語 - マトリックス
-
[解決済み] R:自然対数を使った方程式をnlsで使う
-
[解決済み] リストをデータフレームに変換する
-
[解決済み] 非常に大きなテーブルをデータフレームとして高速に読み込む
-
[解決済み] ggplotで凡例のタイトルを変更する方法
-
[解決済み] ggplot2 の棒グラフで棒を並べる
-
[解決済み】私のggplot2構文が賢明であるときに、R CMDチェック「no visible binding for global variable」注記を処理するにはどうすればよいですか?