[解決済み] .EACHIをdata.tableに入れるか?
質問
に関するドキュメントが見当たりません。
.EACHI
の中で
data.table
. ドキュメントに簡単に書かれていますね。
既知のグループのサブセットに対する集計は、特に効率的です。 i でそれらのグループを渡して
by=.EACHI
. このときi
は data.tableを使用します。DT[i,j,by=.EACHI]
はj
のグループに対してDT
その の各行がi
に結合する。これを各iでグループ化すると呼ぶ。
しかし、quot;groups" の文脈ではどうなっているのでしょうか。
DT
とはどういう意味でしょうか?グループは
DT
? グループは、すべての列をキーとして使用する個別の行ごとなのでしょうか?私は、以下のような実行方法を完全に理解しています。
DT[i,j,by=my_grouping_variable]
が、どのように
.EACHI
は動作します。どなたか説明してください。
どのように解決するのですか?
これをリストに追加しました こちら . そして、予定通り納品できることを祈っています。
その理由は、最も可能性が高いのは
by=.EACHI
は最近の機能です(1.9.4以降)。
しかし、その内容は
. 例を挙げて説明しましょう。2つのdata.tablesがあるとします
X
と
Y
:
X = data.table(x = c(1,1,1,2,2,5,6), y = 1:7, key = "x")
Y = data.table(x = c(2,6), z = letters[2:1], key = "x")
することで結合できることが分かっています。
X[Y]
に似ています。
サブセット
の操作ですが
data.tables
(整数/行名や論理値の代わりに)。の各行に対して
Y
を取ると
Y
のキーカラムに対応する行を検索して返します。
X
のキーカラム(+カラムは
Y
) .
X[Y]
# x y z
# 1: 2 4 b
# 2: 2 5 b
# 3: 6 7 a
では、次のようにします。
Y
のキーカラム (ここではキーカラムはひとつだけ) から
カウント
でのマッチの
X
. のバージョンでは
data.table
< 1.9.4
を指定することで、このようなことが可能になります。
.N
で
j
を次のようにします。
# < 1.9.4
X[Y, .N]
# x N
# 1: 2 2
# 2: 6 1
これは何
暗黙のうちに
が存在する場合、以下のようになります。
j
を評価します。
j-expression
のマッチした各結果に対して
X
(の行に対応する)。
Y
). これは
バイ・ウィズ・アウト・バイ
または
暗黙のバイ
というのは、あたかもhidden byがあるかのように見えるからです。
問題は、これでは常に
by
演算が必要です。ですから、もし結合後の行数を知りたかったら、こうしなければなりません。
X[Y][ .N]
(または単に
nrow(X[Y])
この場合)。つまり
j
を必要としない場合は、同じ呼び出しの中で
by-without-by
. その結果、例えば
X[Y, list(z)]
と評価されます。
list(z)
を使って
by-without-by
となり、若干遅くなった。
さらに
data.table
にしてほしいという要望がありました。
明示的
- 参照
これ
と
これ
をクリックすると、コンテキストが表示されます。
したがって
by=.EACHI
が追加されました。さて、そうすると
X[Y, .N]
# [1] 3
は、それが意図していることを実行します(混乱を避ける)。これは結合の結果得られる行の数を返します。
そして
X[Y, .N, by=.EACHI]
を評価します。
j
の各行について、一致する行に - 式を適用します。
Y
(の値に対応する)。
Y
のキーカラムはここにある)。これを見るには
which=TRUE
.
X[.(2), which=TRUE] # [1] 4 5
X[.(6), which=TRUE] # [1] 7
を実行すると
.N
をそれぞれ実行すると、2,1が得られるはずです。
X[Y, .N, by=.EACHI]
# x N
# 1: 2 2
# 2: 6 1
これで、両方の機能が使えるようになりました。これがお役に立てば幸いです。
関連
-
[解決済み] テスト
-
[解決済み】LMEモデルのレベル0、ブロック1でのバックソルブにおける特異性
-
[解決済み] write.tableしようとすると、未実装の型リストが表示される。
-
[解決済み】R Markdown - html出力でフォントサイズとフォントタイプを変更する
-
[解決済み】ロジスティック回帰 - eval(family$initialize) : y 値は 0 <= y <= 1 である必要があります。
-
[解決済み] テスト
-
[解決済み】.External.graphics Rでエラーが発生しました。
-
[解決済み】行列式で「数値/複雑な行列/ベクトルの引数を必要とする」というエラーが発生する?
-
[解決済み】dplyr: "Error in n(): 関数は直接呼ばれるべきではありません"
-
[解決済み】data.table vs dplyr:一方がうまくできない、またはうまくできないことを行うことができますか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 不適合な配列のコードエラー
-
[解決済み】'builtin'型のオブジェクトはsubsetableではない【重複
-
[解決済み】scale_color_manual()が動作しない件
-
[解決済み】Rでの関数の最適化(L-BFGS-Bでは'fn'に有限の値が必要)。
-
[解決済み】 file(filename, "r", encoding = encoding) : cannot open the connectionでエラーが発生する。
-
[解決済み】RでAIC中に行数が変化するのはなぜですか?そうならないようにするにはどうしたらいいですか?
-
[解決済み】 if/while (条件) {: TRUE/FALSEが必要な場所に値がない場合のエラー
-
[解決済み】Rで結果の行数がベクトル長(arg 2)の倍数でない件
-
[解決済み】'NULL'型の非(リストまたはベクトル)に適用されるis.na()は何を意味するのか?
-
[解決済み】data.table vs dplyr:一方がうまくできない、またはうまくできないことを行うことができますか?