".N"在r中的数据表中意味着什么?

Eri*_*ang 15 r data.table

我有一个数据表dt:

library(data.table)
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
Run Code Online (Sandbox Code Playgroud)

结果dt[, .N, by=a]

   a N
1: A 2
2: B 1
3: C 1
Run Code Online (Sandbox Code Playgroud)

我知道by=a或者by="a"a列分组的方法,N列是重复次数的总和a.但是,我没有使用,nrow()但我得到了结果.这.N不仅仅是列名吗?我??".N"在R中找不到该文件.我试图使用.K,但它不起作用.什么.N意思?

Dav*_*vid 21

可以将其.N视为实例数的变量.例如:

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

dt[.N] # returns the last row
#    a b
# 1: C 7
Run Code Online (Sandbox Code Playgroud)

您的示例返回一个新变量,其中包含每个案例的行数:

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'
Run Code Online (Sandbox Code Playgroud)

对于data.table所有特殊符号列表,也看到https://www.rdocumentation.org/packages/data.table/versions/1.10.0/topics/special-symbols