2015-10-13 26 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=aby="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

我明白了爲什麼我無法在RStudio中找到關於「.N」的文檔,因爲「.N」信息寫在pdf參考手冊中,而不是在html文檔中。感謝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' 

是否幫助你嗎?

相關問題