我最近在一些旧代码中注意到,在对a data.table
进行子集化并重复执行函数时(包括计算相关矩阵),我一直包括额外的方括号.所以,
# Slow way
rcorr(DT[subgroup][, !'Group', with=F])
# Faster way
rcorr(DT[subgroup, !'Group', with=F])
Run Code Online (Sandbox Code Playgroud)
(差异在于之后subgroup
).出于好奇,为什么会出现这种情况?使用额外的括号,是否data.table
必须执行一些额外的计算?
我写的个人功能R
不是特定于一个(或几个)项目的。
R
设置此类功能的最佳实践是什么?
做到这一点的最佳方法是在启动时获取一个文件吗?还是有更好的(推荐)方法来处理这种情况?