0

我有两个列表vw我想再次z从 matrix创建一个列表M。我怎样才能在 R 中做到这一点?

    v = list(a = c(1, 5), b = 2, c= 3)
    w = list( a= c(2, 10), b = 4, c = 6)
    M  =  as.matrix(unlist( v) * unlist(w))
    > M
        [,1]
    a1    2
    a2   50
    b     8
    c    18
    z = list(a = c(2, 50), b = 8, c = 18)
4

2 回答 2

3

像这样做:

mapply(`*`, v, w)
于 2013-05-10T01:38:49.327 回答
2

也许你想要z <- lapply(1:length(v), function(i) v[[i]]*w[[i]])?添加names(z) <- names(v)以保留名称。

于 2013-05-10T01:29:56.043 回答