【发布时间】:2019-09-10 13:12:21
【问题描述】:
我有关于持续时间的高频数据。我发现我有一些我无法丢弃的错误条目,其中添加了 1800*随机数。现在我傻到尝试了:
for(i in 1:21863924) {while(rr[i]>=1800){rr[i]=rr[i]-1800}}
即使我把它放在了一夜之间,这显然也不起作用。我想知道是否有更优雅的方法,因为对数据集进行子集化以排除错误条目可以在几秒钟内完成?
【问题讨论】:
-
我会先创建一个逻辑索引
i1 <- rr >= 1800然后使用该索引替换值rr[i1] <- rr[i1] - 1800请注意,这些是矢量化的,不必遍历每个元素 -
如果需要递归,请将其创建为函数并递归调用