2017-03-03 7 views
1

私はMultiplying Combinations of a list of lists in R.を読みましたが、私の場合はまだ適用できません。2つの異なるリストオブジェクトを掛けるR

私はRに2つの異なるリストを持っている:

私は yの第一要素で xの第一の要素を乗算したい
x <- list(matrix(1:4,nrow=2), matrix(5:8, nrow=2)) 
y <- list(matrix(c(1,0,0,1), nrow=2), matrix(c(0,1,0,1), nrow=2)) 

xの2番目の要素、yの2番目の要素。つまり、各リストに100個の要素があるので、各要素に1行のコードを書く必要はありません。以下に示すように

+0

'?mapply'または'?Map'のいずれかを参照してください。 – Frank

+1

私は答えられる能力が与えられていませんが、もう一つの可能​​性は、 'purr'パッケージを次の行で使うことです:' map2(x、y、function(x、y)x * y) ' – Phil

答えて

2

あなたはmapを使用することができます。上記のコードの

Map('*',x,y) 

出力を以下に示します。

> Map('*',x,y) 
    [[1]] 
     [,1] [,2] 
[1,] 1 0 
[2,] 0 4 

[[2]] 
     [,1] [,2] 
[1,] 0 0 
[2,] 6 8 

OR

をあなたは非公開にリストにunlistを使用することができますし、複数のリストをまとめて:

Listxy <- list(unlist(x)*unlist(y)) 
Listxy 
[[1]] 
[1] 1 0 0 4 0 6 0 8 
関連する問題