I am having a Little difficulty with getting my data back to the "original" format.
The data is the following:
stocks bills bonds gold
1 0.4496607 0.0423607 0.0199607 0.011560700
2 -0.0888480 0.0257520 0.0361520 -0.005848000
3 -0.1872465 0.1094535 0.1093535 0.063953500
4 -0.3452323 0.1162677 0.0675677 0.093167700
5 0.0163397 0.1134397 0.1906397 0.102739700
6 0.4921664 0.0019664 0.0109664 0.439369260
7 -0.0270515 -0.0119515 0.0644485 0.064510328
8 0.4375493 -0.0280507 0.0148493 -0.029850700
9 0.3049072 -0.0127928 0.0357072 -0.014492800
10 -0.3819714 -0.0255714 -0.0147714 -0.028571400
11 0.3205778 0.0285778 0.0698778 0.027777800
12 -0.0110000 0.0004000 0.0441000 0.000000000
13 -0.1138429 -0.0068429 0.0468571 -0.021531637
14 -0.2269908 -0.0984908 -0.1194908 -0.070717428
15 0.1013774 -0.0869226 -0.0674226 -0.090322600
16 0.2210142 -0.0257858 -0.0046858 -0.001806236
17 0.1673115 -0.0191885 0.0028115 -0.029861379
18 0.3357281 -0.0186719 0.0155281 0.004740664
19 -0.2656187 -0.1775187 -0.1500187 -0.154827085
20 -0.0363721 -0.0826721 -0.0791721 0.028684455
Code:
d <- df %>%
gather(assets, rets, stocks:gold, factor_key=TRUE)
d %>%
spread(assets, rets)
Error: Duplicate identifiers for rows (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20), (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40), (41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60), (61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80)
How can I put the data back into the same format as I originally had it?
Data
structure(list(stocks = c(0.4496607, -0.088848, -0.1872465, -0.3452323,
0.0163397, 0.4921664, -0.0270515, 0.4375493, 0.3049072, -0.3819714,
0.3205778, -0.011, -0.1138429, -0.2269908, 0.1013774, 0.2210142,
0.1673115, 0.3357281, -0.2656187, -0.0363721), bills = c(0.0423607,
0.025752, 0.1094535, 0.1162677, 0.1134397, 0.0019664, -0.0119515,
-0.0280507, -0.0127928, -0.0255714, 0.0285778, 0.0004, -0.0068429,
-0.0984908, -0.0869226, -0.0257858, -0.0191885, -0.0186719, -0.1775187,
-0.0826721), bonds = c(0.0199607, 0.036152, 0.1093535, 0.0675677,
0.1906397, 0.0109664, 0.0644485, 0.0148493, 0.0357072, -0.0147714,
0.0698778, 0.0441, 0.0468571, -0.1194908, -0.0674226, -0.0046858,
0.0028115, 0.0155281, -0.1500187, -0.0791721), gold = c(0.0115607,
-0.005848, 0.0639535, 0.0931677, 0.1027397, 0.43936926, 0.064510328,
-0.0298507, -0.0144928, -0.0285714, 0.0277778, 0, -0.021531637,
-0.070717428, -0.0903226, -0.001806236, -0.029861379, 0.004740664,
-0.154827085, 0.028684455)), row.names = c(NA, 20L), class = "data.frame")