2017-09-04 14 views
1

Iを出力するシリアル相関の結果、次のスクリプトを使用:R:ループ出力のフォーマット - 繰り返し列名なし?

serial = function(x,y,z){ 
    for (i in 1:4) { 
    table_serial <- data.frame(i, 
    serial.test(VAR(cbind(x,y),p=i,type="const"),lags.pt=4, type=z)$serial$statistic[[1]],     
    serial.test(VAR(cbind(x,y),p=i,type="const"),lags.pt=4, type=z)$serial$p.value[[1]], digits=3)) 
    colnames(output) <- c("Lag", "Chi", "p") 
    print(data.frame(serial)) 
    } 
} 
lags.pt=4

データは四半期データであるように、私は、のためにテストしていラグの数です。機能

serial(data[1],data[2], "PT.asymptotic") 

戻り

Lag Chi p 
1 1 41.46 0.581 
    Lag Chi p 
1 2 50.032 0.133 
    Lag Chi p 
1 3 40.097 0.293 
    Lag Chi p 
1 4 40.582 0.142 

再印刷コラムのタイトルと行を避けるためにどのような方法があります

? マイ所望の出力:あなたの助けを

Lag Chi p 
1 41.46 0.581 
2 50.032 0.133 
3 40.097 0.293 
4 40.582 0.142 

おかげであなたを!

答えて

1

あなたが望むことは次のとおりです。

serial = function(x,y,z){ 
    table_serial <- data.frame() 
    for (i in 1:4) { 
     s1 <- serial.test(VAR(cbind(x,y), p=i, type="const"), lags.pt=4, type=z)$serial$statistic[[1]] 
     s2 <- serial.test(VAR(cbind(x,y), p=i, type="const"), lags.pt=4, type=z)$serial$p.value[[1]] 
     table_serial <- rbind(table_serial, c(i, s1, s2)) 
    } 
    colnames(table_serial) <- c("Lag", "Chi", "p") 
    table_serial 
} 

# test it 
set.seed(1234) # make it reproducible 
serial(rnorm(100), rnorm(100), "BG") 
    Lag  Chi   p 
1 1 13.76826 0.8420485 
2 2 27.77865 0.1147436 
3 3 17.09634 0.6467093 
4 4 13.58514 0.8508920 
関連する問題