
O que vc considera "tamanho" de "m"? já que "m" é um objeto de duas dimensões. Se considerar o produto das dimensões (número de elementos) poderia fazer algo assim: um = list(id=1, m=matrix(1:9, nrow=3)) dois = list(id=2, m=matrix(1:4, nrow=2)) tres = list(id=3, m=matrix(1, nrow=1)) quatro = list(id=4, m=matrix(1:6, nrow=3)) lista = list(um, dois, tres,quatro) (dims=sapply(lista,function(z)prod(dim(z$m)))) (indxs=order(dims)) lapply(indxs,function(z)lista[[z]]) Robert Em 6 de abril de 2015 22:04, David Feitosa <davidfeitosa@gmail.com> escreveu:
Caros, boa noite.
Uma dúvida de ordenação. Suponha que eu tenha 3 list compostas:
um = list(id=1, m=matrix(1:9, nrow=3)) dois = list(id=2, m=matrix(1:4, nrow=2)) tres = list(id=3, m=matrix(1, nrow=1))
e crie um vetor com as 3 list:
lista = c(um, dois, tres)
Haveria alguma forma de ordená-las pelo tamanho do elemento m, ou seja, de forma que a lista final fosse equivalente a:
c(tres, dois, um) ?
Atenciosamente,
David Feitosa
(\_(\ (=°;°) (("")("")
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.

Robert, Perfeito! Obrigado. :-) Em 06/04/2015 23:42, "Robert Iquiapaza" <rbali@ufmg.br> escreveu:
O que vc considera "tamanho" de "m"? já que "m" é um objeto de duas dimensões. Se considerar o produto das dimensões (número de elementos) poderia fazer algo assim:
um = list(id=1, m=matrix(1:9, nrow=3)) dois = list(id=2, m=matrix(1:4, nrow=2)) tres = list(id=3, m=matrix(1, nrow=1)) quatro = list(id=4, m=matrix(1:6, nrow=3))
lista = list(um, dois, tres,quatro)
(dims=sapply(lista,function(z)prod(dim(z$m))))
(indxs=order(dims))
lapply(indxs,function(z)lista[[z]])
Robert
Em 6 de abril de 2015 22:04, David Feitosa <davidfeitosa@gmail.com> escreveu:
Caros, boa noite.
Uma dúvida de ordenação. Suponha que eu tenha 3 list compostas:
um = list(id=1, m=matrix(1:9, nrow=3)) dois = list(id=2, m=matrix(1:4, nrow=2)) tres = list(id=3, m=matrix(1, nrow=1))
e crie um vetor com as 3 list:
lista = c(um, dois, tres)
Haveria alguma forma de ordená-las pelo tamanho do elemento m, ou seja, de forma que a lista final fosse equivalente a:
c(tres, dois, um) ?
Atenciosamente,
David Feitosa
(\_(\ (=°;°) (("")("")
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
participantes (2)
-
David Feitosa
-
Robert Iquiapaza