2015-10-13 14 views
10

私は、データテーブルdtを持っている:".N"はrのデータテーブルで何を意味しますか?

dt = data.table(a=LETTERS[c(1,1:3)],b=4:7) 

    a b 
1: A 4 
2: A 5 
3: B 6 
4: C 7 

dt[, .N, by=a]の結果は

a N 
1: A 2 
2: B 1 
3: C 1 

である私はa列によってグループ化されby=aまたはby="a"手段を知っているとN列はの重複時間の合計でありますa。しかし、私はnrow()を使用しませんが、私は結果を得ました。 .Nは列名だけではありませんか? Rで??".N"で文書を見つけることができません。.Kを使用しようとしましたが、動作しません。 .Nとはどういう意味ですか?

+6

'.N'の説明は、'?data.table'ドキュメントの引数 - > – digEmAll

+2

にあります。このチートシートの詳細情報https://s3.amazonaws.com/assets.datacamp.com/img/blog /data+table+cheat+sheet.pdf –

+0

".N"情報がpdfリファレンスマニュアルに書かれていて、htmlドキュメントには書かれていないので、RStudioで ".N"に関するドキュメントが見つからないという点があります。 digEmAllとPierre Lafortuneに感謝します。チートシートは興味深く、コーディングスキルを向上させるのに役立ちます。 –

答えて

13

.Nをインスタンス数の変数と考えてください。たとえば:

dt <- data.table(a = LETTERS[c(1,1:3)], b = 4:7) 

dt[.N] # returns the last row 
# a b 
# 1: C 7 

あなたの例では、ケースごとの行数を持つ新しい変数を返します。

dt[, new_var := .N, by = a] 
dt 
# a b new_var 
# 1: A 4  2 # 2 'A's 
# 2: A 5  2 
# 3: B 6  1 # 1 'B' 
# 4: C 7  1 # 1 'C' 

んあなたを助けること?

関連する問題