Função para retornar uma lista de combinações de colunas de uma matriz

Gostaria de alguma dica para operacionalizar a CMR abaixo em uma função. O resultado final é uma lista com combinações das colunas de uma matriz. x=matrix(c(1,2,3,4,5,6,7,8,9), nc=3);x l1=c(x[,1], x[,2]) l2=c(x[,1], x[,3]) l3=c(x[,2], x[,3]) Lista=list(l1,l2,l3);Lista Obrigado. Emmanuel

Não é a forma mais elegante, mas foi a única maneira que consegui pensar aqui rapidamente: combn(nrow(x), 2, function(y) list(c(x[, y]))) 2011/12/15 Emmanuel Arnhold <emmanuelarnhold@yahoo.com.br>:
x=matrix(c(1,2,3,4,5,6,7,8,9), nc=3);x l1=c(x[,1], x[,2]) l2=c(x[,1], x[,3]) l3=c(x[,2], x[,3]) Lista=list(l1,l2,l3);Lista

Ops, usei nrow() sem querer: combn(ncol(x), 2, function(y) list(c(x[, y]))) 2011/12/15 Gustavo Carvalho <gustavo.bio@gmail.com>:
Não é a forma mais elegante, mas foi a única maneira que consegui pensar aqui rapidamente:
combn(nrow(x), 2, function(y) list(c(x[, y])))
2011/12/15 Emmanuel Arnhold <emmanuelarnhold@yahoo.com.br>:
x=matrix(c(1,2,3,4,5,6,7,8,9), nc=3);x l1=c(x[,1], x[,2]) l2=c(x[,1], x[,3]) l3=c(x[,2], x[,3]) Lista=list(l1,l2,l3);Lista

Voce quer dizer combinacoes 2 a 2? Para saida em matrix: res <- apply(combn(1:ncol(x), 2), 2, function(COL) x[,COL]) para saida em lista: as.list(as.data.frame(res)) On Thu, 15 Dec 2011, Emmanuel Arnhold wrote:
Gostaria de alguma dica para operacionalizar a CMR abaixo em uma função. O resultado final é uma lista com combinações das colunas de uma matriz. x=matrix(c(1,2,3,4,5,6,7,8,9), nc=3);x l1=c(x[,1], x[,2]) l2=c(x[,1], x[,3]) l3=c(x[,2], x[,3]) Lista=list(l1,l2,l3);Lista
Obrigado.
Emmanuel

Exatamente isso Paulo. Obrigado. ________________________________ De: Paulo Justiniano <paulojus@leg.ufpr.br> Para: R-br <r-br@listas.c3sl.ufpr.br> Enviadas: Sexta-feira, 16 de Dezembro de 2011 10:57 Assunto: Re: [R-br] Função para retornar uma lista de combinações de colunas de uma matriz Voce quer dizer combinacoes 2 a 2? Para saida em matrix: res <- apply(combn(1:ncol(x), 2), 2, function(COL) x[,COL]) para saida em lista: as.list(as.data.frame(res)) On Thu, 15 Dec 2011, Emmanuel Arnhold wrote:
Gostaria de alguma dica para operacionalizar a CMR abaixo em uma função. O resultado final é uma lista com combinações das colunas de uma matriz. x=matrix(c(1,2,3,4,5,6,7,8,9), nc=3);x l1=c(x[,1], x[,2]) l2=c(x[,1], x[,3]) l3=c(x[,2], x[,3]) Lista=list(l1,l2,l3);Lista
Obrigado.
Emmanuel
_______________________________________________ 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 (3)
-
Emmanuel Arnhold
-
Gustavo Carvalho
-
Paulo Justiniano