【发布时间】:2019-07-26 09:47:15
【问题描述】:
我正在尝试跨大型数据框的列对运行多个互相关函数。我已经编写了一个 for 循环来完成这项工作,但是计算时间很慢。
例如我想在 s1 和 s2 上运行 CCF 功能,然后在 s3 和 s4 上运行。真实数据有 >100 列和 >50,000 行,每对列都有唯一的行数。还运行蒙特卡罗模拟并绘制最大 CCF/滞后,但为简洁起见,我没有在此处包含该代码。我确实运行了一个分析器并且 CCF 似乎花费了最多的时间来运行,我希望应用函数可以帮助解决这个问题?
blahthresholdtest <- data.frame("S1"=1:8, "S2" = (8:1), "S3"= 1:8, "S4"= 9:2)
我写的for循环:
k=1
for(i in seq(1,ncol(blahthresholdtest),2)){
ccftime <- ccf(blahthresholdtest[,i],blahthresholdtest[,i+1], type="correlation", na.action=na.omit)
#adds one to k each loop to shift columns for analysis over
k <- k + 1
}
【问题讨论】:
标签: r for-loop optimization apply cross-correlation