2016-10-19 8 views
4

data.tableビネットは.BYがによって、各項目の長さが1のベクトルを含むリストであるR data.tableの `.BY`演算子はどのように使用されていますか?

として特殊記号.BYを定義します。これは、byが事前にわかっていない場合に便利な です。 by変数はj にも直接利用できます。 jがプロットコマンドの場合はグラフのタイトル、例えば 、またはグループ変数の値に応じてif()で分岐する場合に便利です。

この説明はわかりにくいです。いつどのようにすれば.BYを使用できますか?グラフのタイトルでさえ?特別なシンボルとして追加されたのはなぜですか?

example("data.table")には例がありません.data.tableのwikiページには何も見つかりませんでした。私はdata.tableと.BYのどちらの用途でも、スタックオーバーフローの検索方法を知らない。 by演算子を使用するヒットを続けるdata.table

+2

ここでは私の古い答えから.BY' 'を少しトリッキー使用があまりにもだ:http://stackoverflow.com/questions/25129750/dataビルトインmtcarsデータを使用して、 -table-drop-key-rows-and-summarize/25130426 – thelatemail

+1

...はい、検索するのは難しいです。たぶん、dot-BYや何かを使って簡単にすることができます。 – thelatemail

+1

関連:[r - data.tableパッケージの.BYと.EACHIの使用](http://stackoverflow.com/questions/24153174/use-of-by-and-eachi-in-the-data-table -パッケージ)。あなたの "_私はdata.tableと.BY_のスタックオーバーフローを検索する方法がわかりません"に関しては、SOの中から検索する代わりにgoogleを使用する方が一般的に効率的です([here](http://meta.stackoverflow .com/questions/286485/stack-overflow-search-returns-no-results-but-google-search-returns-2-000)とその中のリンク)。上記のリンクは、Google検索の 'R data.table" .BY "' 'の2番目のヒットです。 – Henrik

答えて

5

.BYをプロットタイトルのようにさらに引数に渡す方法を示す簡単な例です。

mtcars <- as.data.table(mtcars) 
layout(1:3) 
mtcars[, plot(mpg, main=paste("Cylinders:", as.character(.BY))), by=cyl] 

enter image description here

+3

この場合、 '.BY'を' cyl'に置き換えるだけで簡単です。 '.BY'は実際にはグループ化された列がどのようなものかをわからないときにもっと有用です。したがって、' j'式から参照することができます。あなたの例は理想的には任意の列をグループ化する関数でラップすることができます。 – jangorecki

関連する問題