2016-08-13 4 views
0

のための相互相関私は3つのデータ・フレームTushkaARQEを持っているとARQWデータフレームのリスト

私は別に、この

# cross correlations with US column 

#Tushka 

head(Tushka) 

# US PW1 PW2 PW3 PW4 

#1 173.62 153.01 144.65 152.53 137.05 

#2 173.57 152.97 144.64 152.52 137.10 

#3 173.52 152.95 144.64 152.52 137.11 

lag = 200 

t3 = data.frame(lag = c(-lag:lag)) 

vars = names(Tushka[, -1]) 

for (j in vars) { 

t4 = ccf(Tushka[, 1], Tushka[, j], lag = lag, na.action = na.pass) 

t3[, j] = data.frame(t4$acf)[, 1] 

} 

のように、すべてのデータフレームのための相互相関コードを使用しかし、私は作成した場合3つのデータフレームのリスト、for-loopまたは他の関数を使用してデータフレームのリストに対して相互相関を使用する方法

答えて

0

ここには再現可能なサンプルデータがあります:

n <- 100 
data_list <- list(
    d1 = data.frame(x = runif(n)), 
    d2 = data.frame(x = runif(n)), 
    d3 = data.frame(x = runif(n)) 
) 

トリックは、expand.gridを使用してデータフレームのペアを取得することです。

pairs <- expand.grid(first = names(data_list), second = names(data_list)) 

今、あなたは、その行で指定されたデータフレームの各ペアのための相互相関を実行し、pairsの行をループすることができます。

lapply(
    seq_len(nrow(pairs)), 
    function(i) 
    { 
    first_data <- data_list[[pairs[i, "first"]]] 
    second_data <- data_list[[pairs[i, "second"]]] 
    ccf(first_data$x, second_data$x, plot = FALSE) 
    } 
) 
+0

あなたは何をしましたかわかりませんでした。リッチー – ahmed2015

+0

あなたが良い質問をすると、より良い答えが得られます。具体的に何を理解していないのですか?何を試しましたか? –

関連する問題