2

I have 3 data frames that each look like this:

head(New_Re)

           JPM.GBI.GLOBAL MSCI.WORLD.U   MSCI.EM.U WORLD.DS.Market EMERGING.MARKETS.DS   S.P.GSCI HFRI.FUND.WEIGHTED
2000-01-31    -0.23666947  -0.68583345  0.07151953      -0.5730685          0.27303054  0.8676359         0.07679939
2000-02-29    -0.06022908   0.03385849  0.15848440       0.1591570         -0.06121937  0.7497046         0.73921129
2000-03-31     0.34922825   0.83091828  0.05856337       0.6840922          0.12306658 -0.1392837         0.11159392
2000-04-28    -0.36499225  -0.50602011 -1.13751290      -0.7176648         -1.18921618 -0.1092962        -0.34199635
2000-05-31     0.08762909  -0.30232789 -0.49610312      -0.4407889         -0.48766971  1.3436823        -0.23520005
2000-06-30     0.29135209   0.40572518  0.42269891       0.5262464          0.34889766  0.8552101         0.44159731
           MSCI.WORLD.REAL WORLD.DS.Real WORLD.DS.REITs Risky_Asset
2000-01-31      -0.4797486    -0.3988462      0.2889378  -0.7962431
2000-02-29      -0.5963240    -0.7009993     -0.7454474  -0.3238034
2000-03-31       0.9327900     0.7215466      0.8258081   4.4983235
2000-04-28      -0.4948475    -0.3721225      0.8673545  -4.3663143
2000-05-31      -1.1066985    -0.6532877      0.1393459  -2.1514186
2000-06-30       0.6890960     0.9116872      0.2476261   5.1401370

I want to be able to generate ALL possible data frames that can be made from the combination of these data frames, e.g. each column on its own, binded with one other column, 2 other columns, etc. I've looked at combn, but it needs an m input of r number of elements to choose. I want to be able to automatically generate all different numbers of combinations, without allowing repetitions. For example if I had columns A, B and C, I want to be able to generate data frames comprised of :

 ('A',),
 ('B',),
 ('C',),
 ('D',),
 ('A', 'B'),
 ('A', 'C'),
 ('A', 'D'),
 ('B', 'C'),
 ('B', 'D'),
 ('C', 'D'),
 ('A', 'B', 'C'),
 ('A', 'B', 'D'),
 ('A', 'C', 'D'),
 ('B', 'C', 'D'),
 ('A', 'B', 'C', 'D')]

if can be done with combn would be fine, I just dont know how. Any ideas would be appreciated.

lmo
  • 37,904
  • 9
  • 56
  • 69
El_1988
  • 339
  • 3
  • 13
  • 2
    Just loop 1:4 and use that as n in `combn` – akrun Oct 09 '17 at 17:55
  • That would work, I was hoping to void loops and have a solution similar to expand.grid – El_1988 Oct 09 '17 at 18:00
  • 2
    Your data frame has 11 column. Assuming the other two also have eleven, you want too choose all unique combinations of these 33 columns, correct? Just so you know, thats 8,589,934,591 dataframes = terabytes of data. – NiclasRudolfson Oct 09 '17 at 19:16
  • Note that what you are asking for the is referred to as the "power set" in mathematics. – lmo Oct 09 '17 at 19:31

0 Answers0