Como obter todas as combinações das colunas de um quadro de dados tomadas por 2?
Suponha que eu tenha esse quadro de dados:
matrix(c(2,4,3,1,5,7,1,2,3,5,8,2,4,5,1,1,3,6,1,3,4,5,6,1),nrow=6,ncol=4,byrow = TRUE)->X
as.data.frame(X)->X.df
V1 V2 V3 V4
1 2 4 3 1
2 5 7 1 2
3 3 5 8 2
4 4 5 1 1
5 3 6 1 3
6 4 5 6 1
então eu gostaria de obter uma lista de um conjunto de quadros de dados contendo todas as combinações de colunas tomadas por 2, sem repetição, e evitando qualquer coluna consigo mesmo. Isso significa uma lista de dataframes com os seguintes cabeçalhos:
V1,V2
V1,V3
V1,V4
V2,V3
V2,V4
V3,V4
Alguma ideia de como fazer isso?