Я пытаюсь создать код из R - tidyr - изменить и распределить несколько столбцов, извините, если это дублирует другие сообщения, и я был бы благодарен за указание на эти сообщения, если они там есть!
example <- data.frame(category = c("a", "b", "c", "a", "b", "c", "a", "b", "c"),
value1 = c(1,2,3,4,5,6,7,8,9),
value2 = c(10,20,30,40,50,60,70,80,90))
category value1 value2
1 a 1 10
2 b 2 20
3 c 3 30
4 a 4 40
5 b 5 50
6 c 6 60
7 a 7 70
8 b 8 80
9 c 9 90
Я понимаю, как повернуть это, чтобы получить значения из value1
или value2
example %>%
spread(category, value1)
value2 a b c
1 10 1 NA NA
2 20 NA 2 NA
3 30 NA NA 3
4 40 4 NA NA
5 50 NA 5 NA
6 60 NA NA 6
7 70 7 NA NA
8 80 NA 8 NA
9 90 NA NA 9
Но я бы хотел
измените имена столбца категории, чтобы отразить значения 1 и 2, чтобы для каждой категории было два столбца
- populate the column values based on
values_from
=value1
orvalue2
- populate the column values based on
a_v1 a_v2 b_v1 b_v2 c_v1 c_v2
1 10 2 20 3 30
4 40 5 50 6 60
7 70 8 80 9 90
Я понимаю, что желаемый результат приведет к появлению большего количества строк с NA, как в приведенном выше распространении, но это нормально!