1

zR に 2 つのリストがあり、異なる値のマトリックスに結果を作成したいと考えています。最後に、2行10列の行列があることを意味します。

x = list(a = 1, b = 2, c = 3)
y = list(a = 4, b = 5, c =  3)
z = seq(0, 1, len = 10)
w = list(a1 = z * x$a + (1-z) * x$b + x$c , b1 = z * y$a + (1-z) * y$b + y$c)

Rのforループなしでこれを行うにはどうすればよいですか?

4

2 に答える 2

1

このようなものはどうですか(質問を編集する前で、xyさは2です):

d <- list(x, y)
t(sapply(d,  function(x) z*x$a + (1-z)*x$b))
##      [,1]     [,2]     [,3]     [,4]     [,5]     [,6]     [,7]     [,8]     [,9] [,10]
## [1,]    2 1.888889 1.777778 1.666667 1.555556 1.444444 1.333333 1.222222 1.111111     1
## [2,]    5 4.888889 4.777778 4.666667 4.555556 4.444444 4.333333 4.222222 4.111111     4
于 2013-05-09T04:02:14.300 に答える