【发布时间】:2020-02-18 04:04:42
【问题描述】:
我有一个包含事件标记样本数的向量。它们仅在发现事件时列出,而不是在每个样本中列出。我想获得每秒发现的事件数的输出。采样率已知(15hz)。
我想出了如何使用 for 循环来做到这一点,但它的工作速度有点慢。我正在努力找出一种更有效的方法来执行此计算(可能使用 mapply 或类似的东西?)。有人有什么建议吗?
这是我正在做的一个示例:
vec <- c(9,20,23,48,50,51)
fs <- 15
start_idx <- seq(from=1,to=46,by=15)
end_idx <- seq(from=15,to=60,by=15)
counter <- vector()
for (i in 1:length(start_idx)) {
counter[i] <- length(which(vec >= start_idx[i] & vec <= end_idx[i]))
}
计数器的结果应该是:
> counter
[1] 1 2 0 3
非常感谢任何帮助!
【问题讨论】:
标签: r for-loop iteration sampling