У меня есть следующий фрейм данных:
date <- c(1,2,3,4,5,6,7)
value1 <-c(10,20,30,0,0,0,0)
key1 <- c(100,200,300,0,0,0,0)
value2 <- c(0,0,0,0,40,30,20)
key2 <- c(0,0,0,0,400,500,600)
df <- data.frame(date,value1,key1,value2,key2)
Это выглядит так:
date value1 key1 value2 key2
1 10 100 0 0
2 20 200 0 0
3 30 300 0 0
4 0 0 0 0
5 0 0 40 400
6 0 0 30 500
7 0 0 20 600
Я хочу преобразовать его так:
date 100 200 300 400 500 600
1 10 0 0 0 0 0
2 0 20 0 0 0 0
3 10 0 30 0 0 0
4 10 0 0 0 0 0
5 10 0 0 40 0 0
6 10 0 0 0 30 0
7 10 0 0 0 0 20
I Я могу переставить их вручную следующим образом:
library(tidyr)
numbers_transpose <- df %>% spread(key = key1, value = value1)
numbers_transpose <- numbers_transpose %>% spread(key = key2, value = value2)
Но у меня есть 50 пар, и я хотел бы их автоматизировать. Как это сделать простым способом?