2016-04-28 11 views
1

です。このquestionで発生した問題と同様の質問がありますが、リスト内の要素ごとの平均値を取得することには興味がありません。リスト内のインデックス付き要素の平均値は

与える私は...私は駅ごとの一日あたりの年間にわたる平均海氷を見つけたい、これらの3つのリスト

ice_2000 = list(seq(1,5,1),seq(6,10,1),seq(11,15,1)) 
ice_1990 = list(seq(1,5,1),seq(6,10,1),seq(11,15,1)) 
ice_1980 = list(seq(1,5,1),seq(6,10,1),seq(11,15,1)) 

を持って

x=c(1,2,3) ## years 
y=c(1:5) ## stations 

...と、新たなに格納し

[[day]][station]....[n station] 
. 
. 
. 
[[n day]][station]....[n station] 
のような

何か上記の3つのリストのいずれかと同じ形式のリスト

私は

average.ice =rep(list(rep(NA, length(y))), 3) 

foreach(x=x) %do% { 
    foreach(y=y) %do% { 

    average.ice[[x]][y] = mean(c(ice_1980[[x]][y],ice_1990[[x]][y],ice_2000[[x]][y])) 

    } 
} 

のようなものを試してみましたしかし、私はどこが間違っているつもりです私の出力

average.ice 

[[1]] 
[1] 1 2 3 

[[2]] 
[1] NA NA 8 

[[3]] 
[1] NA NA 13 

でのNAを取得しますか?家族の中に賢い方法がありますか?

答えて

1

インデックスには十分注意してください。それはあなたが欲しいものですか?

yy=c(1,2,3) ## years 
st=c(1:5) ## stations 

average.ice =rep(list(rep(NA, length(st))), 3) 

library(foreach) 

foreach(x=yy) %do% { 
    foreach(y=st) %do% { 

    average.ice[[x]][y] = mean(c(ice_1980[[x]][y],ice_1990[[x]][y],ice_2000[[x]][y])) 

    } 
} 
あなたはこのような何かを探している可能性があり
0

numOfStations <- length(ice_1980) 

average.ice <- lapply(1:numOfStations, 
         function(i) mapply(mean, ice_1980[[i]], ice_1990[[i]], ice_2000[[i]])) 
関連する問題