la conversion d'une matrice à une liste

Supposons que j'ai une matrice foo comme suit:

foo <- cbind(c(1,2,3), c(15,16,17))

> foo
     [,1] [,2]
[1,]    1   15
[2,]    2   16
[3,]    3   17

Je voudrais la transformer en une liste qui ressemble à

[[1]]
[1]  1 15

[[2]]
[1]  2 16

[[3]]
[1]  3 17

Vous pouvez le faire comme suit:

lapply(apply(foo, 1, function(x) list(c(x[1], x[2]))), function(y) unlist(y))

Je suis intéressé par une méthode alternative qui n'est pas aussi compliqué. Remarque, si vous n'avez apply(foo, 1, function(x) list(c(x[1], x[2]))), il renvoie une liste dans une liste qui, je l'espère pour éviter.

OriginalL'auteur andrewj | 2010-03-18