2つの行列、つまりcerとparの行に対してcor.testを使用しようとしています。
cerParCorTest <-mapply(function(x,y)cor.test(x,y),cer,par)
ただし、mapplyは列で機能します。
この問題は、行ごとの複数の行列引数の効率的な適用またはマッピングで説明されています。私はその分割ソリューションを試しました(以下のように)
cer <- split(cer, row(cer))
par <- split(par, row(par))
そしてそれはエラーになります(そしてそれは遅いです)
In split.default(x = seq_len(nrow(x)), f = f, drop = drop, ...) :
data length is not a multiple of split variable
また、t(par)とt(cer)を実行して行を実行しようとしましたが、エラーが発生します
Error in cor.test.default(x, y) : not enough finite observations
火星は以下に示されています(cerおよびparで同じ):
V1698 V1699 V1700 V1701
YAL002W(cer) 0.01860500 0.01947700 0.02043300 0.0214740
YAL003W(cer) 0.07001600 0.06943900 0.06891200 0.0684330
YAL005C(cer) 0.02298100 0.02391900 0.02485800 0.0257970
YAL007C(cer) -0.00026047 -0.00026009 -0.00026023 -0.0002607
YAL008W(cer) 0.00196200 0.00177360 0.00159490 0.0014258
私の質問は、行列の転置が機能しない理由と、cor.test()のmapplyを使用して行を実行できるようにする短いソリューションは何ですか。
長い投稿をお詫び申し上げます。ご協力をよろしくお願いいたします。