我有一个数据表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
的结果dt[, .N, by=a]
is
a N
1: A 2
2: B 1
3: C 1
我知道by=a
or by="a"
表示分组依据a
列和N
列是重复次数的总和a
。但是,我不使用nrow()
但我得到了结果。这.N
不只是列名吗?我找不到该文档??".N"
在 R 中。我尝试使用.K
,但它不起作用。什么是.N
means?
考虑到.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'
有关 data.table 的所有特殊符号的列表,另请参阅https://www.rdocumentation.org/packages/data.table/versions/1.10.0/topics/special-symbols https://www.rdocumentation.org/packages/data.table/versions/1.10.0/topics/special-symbols
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)