2016-06-24 2 views
0

は想定内の列の上にループ機能(元のテーブルには、はるかに多くの列があります):http://pastebin.com/igeMTaSBR:私たちは、変数の各2ペアがお互いにテストする必要があり、我々はテーブルを以下しているRスクリプト

どのように私ができますRのループを作成して、スクリプトの1行または2行ごとに関数を適用します。

例コード:つの可変ケースについて

library(urca) 
library(lmtest) 

# Load data (See link) 

table = read.csv("test.csv", header = TRUE, sep=",") 
table = data.frame(table) 
table 

# For each column in the table (a1-d2), do 
VARselect(table$column,lag.max = 10,type="both") 

# For each two sequent pairs in the table (a1+a2, b1+b2,c1+c2,d1+d2), do 
grangertest(table$a1, table$a2, order = 1, na.action = na.omit) 
+0

1つの変数の場合は、 'sapply'または' lapply'を使用してください: 'lapply(table、function(i)VARselect(i、lag.max = 10、type =" both "))'。 – lmo

答えて

1

、例えば、sapply又はlapplyを使用:

myVarSel <- lapply(table, function(i) VARselect(i,lag.max = 10,type="both")) 

の変数のあなたの対が隣接して配置されている場合(列1,2 3,4および5,6)の場合、lapplyを次のように使用できます。

myGtests <- lapply(seq(1, 5, 2), function(i) grangertest(table[[i]], table[[i+1]], order = 1, 
              na.action = na.omit)) 

変数が異なる方法で配置されている場合は、のgrepなどのツールを使用して変数を見つけることができます。 lapplyで抽出します。

関数lapplyは、リストを返します。各要素は、対応する関数の結果です。

関連する問題