I have the following data.frame
df = structure(list(HEADER = c(\"HOME_TRPM\", \"AWAY_TRPM\", \"HOME_TEAM\",\"AWAY_TEAM\"),
price = c(\"0.863
They must have updated tidyr since this was originally posted because I think it does what you were originally asking for now:
> library(dplyr)
> library(tidyr)
Warning message:
package ‘tidyr’ was built under R version 3.4.4
> df
HEADER price
1 HOME_TRPM 0.863104076023855
2 AWAY_TRPM -0.845186446996287
3 HOME_TEAM CHA
4 AWAY_TEAM NOP
> tidyr::spread(df, HEADER, price)
AWAY_TEAM AWAY_TRPM HOME_TEAM HOME_TRPM
1 NOP -0.845186446996287 CHA 0.863104076023855
If you have a bigger data frame you can always gather and then spread:
> mdf <- data.frame(Things = c("Cookies","Cake","Knives","Kittens", "Politics"), Darkness = sample(1:5), Despair = sample(1:5), Defeat = sample(1:5))> mdf
Things Darkness Despair Defeat
1 Cookies 3 4 1
2 Cake 2 2 5
3 Knives 1 3 2
4 Kittens 5 5 3
5 Politics 4 1 4
> mdf %>% tidyr::gather(Idea, Warning_Level, Darkness:Defeat)
Things Idea Warning_Level
1 Cookies Darkness 3
2 Cake Darkness 2
3 Knives Darkness 1
4 Kittens Darkness 5
5 Politics Darkness 4
6 Cookies Despair 4
7 Cake Despair 2
8 Knives Despair 3
9 Kittens Despair 5
10 Politics Despair 1
11 Cookies Defeat 1
12 Cake Defeat 5
13 Knives Defeat 2
14 Kittens Defeat 3
15 Politics Defeat 4
> mdf %>% tidyr::gather(Idea, Warning_Level, Darkness:Defeat) %>% tidyr::spread(Things, Warning_Level)
Idea Cake Cookies Kittens Knives Politics
1 Darkness 2 3 5 1 4
2 Defeat 5 1 3 2 4
3 Despair 2 4 5 3 1