我需要计算向量子集的均值和方差。设x
为向量,并y
作为观察值是否在子集中的指标。哪个更有效:
sub.mean <- mean(x[y])
sub.var <- var(x[y])
或者
sub <- x[y]
sub.mean <- mean(sub)
sub.var <- var(sub)
sub <- NULL
第一种方法不会显式创建新对象。但是是否隐式调用mean
并执行此操作?var
或者他们是否在存储的原始向量上工作?
第二个更快是因为它不必进行两次子集化吗?
我关心大型数据集的速度和内存管理。