簡體   English   中英

如何在R中使用互相關函數

[英]how to use apply on cross correlation function in R

我正在嘗試從大型數據幀跨列對運行多個互相關函數。 我已經寫了一個for循環來完成這項工作,但是計算時間很慢。

例如,我想在s1和s2上運行CCF功能,然后在s3和s4上運行。 實際數據有> 100列和> 50,000行,每對列都有唯一的行數。 還運行蒙特卡洛模擬並繪制最大CCF /滯后,但為簡便起見,我沒有在此處包含該代碼。 我確實運行了探查器,而CCF似乎花費了最多的時間,我希望apply函數可以幫助解決這個問題?

blahthresholdtest <- data.frame("S1"=1:8, "S2" = (8:1), "S3"= 1:8, "S4"= 9:2)

對於循環我寫了:

     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
  }

我首先將ccfplot參數設置為FALSE 然后,我將檢查ccf的代碼(這是純R代碼),看是否可以編寫更多的准系統版本。 如果那沒有幫助,您可以檢查是否可以並行運行循環; 例如,參見R附帶的parallel軟件包的幫助。

vignette("parallel") 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM