2016-07-13 7 views
1

3回測定値を格納する3つの行列を持ち、3つの行列の平均を取ることを望みます。3つの行列における3回測定の平均値

:だから私は、forループ2でそれを試してみました

mean(m1[i,j], m2[i,j], m2[i,j]) 

:私は行列のすべての位置のためにこれを持っていると思い

m1<-t(matrix(c("text", 1:3), ncol=2, nrow=4)) 
m2<-t(matrix(c("text", 1:3), ncol=2, nrow=4)) 
m3<-t(matrix(c("text", 1:3), ncol=2, nrow=4)) 

> m1 
    [,1] [,2] [,3] [,4] 
[1,] "text" "1" "2" "3" 
[2,] "text" "1" "2" "3" 
> m2 
    [,1] [,2] [,3] [,4] 
[1,] "text" "1" "2" "3" 
[2,] "text" "1" "2" "3" 
> m3 
    [,1] [,2] [,3] [,4] 
[1,] "text" "1" "2" "3" 
[2,] "text" "1" "2" "3" 

それでは、3人の行列があるとしましょう

for(i in ncol(m1)){ 
    for(j in nrow(m1)){ 
    means[i,j]<-mean(m1[i,j], m2[i,j], m2[i,j]) 
    } 

明らかに機能しない

NAを返すと、最初の列のテキストは問題になりません。

誰でも私を助けてくれますか? ありがとう!

+0

この投稿で「平均」を求めてくれました。私のコードの問題は何ですか? – akrun

答えて

1

私たちは、「M」で始まる多くの行列がある場合、我々はmget

lst <- lapply(mget(paste0("m", 1:3)), function(x) as.numeric(x[,-1])) 

を使用してから行うことができ、listに置き、数値に変換し、Reduce

lst <- lapply(list(m1[, -1], m2[,-1], m3[, -1]), as.numeric) 
Reduce(`+`,lst)/length(lst) 

を使用することができますReduceステップ。

+0

しかし、これはどのように平均を計算するのでしょうか? –

+0

@KevinRothこれは要素単位の合計であり、3で割ったとき、つまり行列の数は、平均値ではなく平均値を意味します。平均値は – akrun

+0

です。愚かな私 –

関連する問題