如何从data.table中的`.BY`中受益?

Big*_*hao 11 r data.table

这是手册中的解释 .BY

.BY是一个列表,其中包含每个项目的长度为1的向量by.如果by事先不知道,这可能很有用.该by变量也可用于j直接通过名称; 例如,对于图形标题,如果j是绘图命令,或者if()根据组变量的值进行分支,则是有用的.

它说"如果j是绘图命令,或者if()根据组变量的值进行分支,则对图形标题很有用."

但是,我还不确定何时使用.如何从中受益.BY

你举一个例子吗?非常感谢!

Ram*_*ath 9

这是一个简单的例子.我们使用.BY变量来显示该图所属的组.请注意,您也可以在不使用.BY替换它的情况下执行此操作gear[1],这将是等效的.

library(data.table)
mtcars_dt = data.table(mtcars)
mtcars_dt[,
  plot(wt, mpg, main = paste('Gears: ', .BY)),
  gear
]
Run Code Online (Sandbox Code Playgroud)

  • 将它保持为向量是低效的,因为它是相同的值,R将根据需要回收标量 (2认同)