0
リストの行列乗算を行う最も効率的な方法を知りました。r:%*%とlapply/mapplyの引数を逆にした場合
A = matrix(c(1,2,3,4), ncol=2, nrow=2)
B = list(matrix(c(1,2,3,4), ncol=2, nrow=2), matrix(c(4,3,2,1), ncol=2, nrow=2))
そして、私はA
のcrossproductsのリストと、各要素b
B
の希望:
A %*% b
私がいたが
のは、私は行列A
と行列B
のlist
を持っているとしましょうlapply()
を使用しようとしましたが、特別な入れ子なしで正しい乗算順序を確保する方法を理解できませんでした。lapply
「は、それぞれb
を転置するための...
lapply(B, '%*%', A) # which gives a list of b%*%A rather than A%*%b
lapply(lapply(lapply(B, t), '%*%', t(A)), t) # gives the answer but geez...
は、誰もが親切にここに私にいくつかのポインタを与えることができますか?