У меня есть tibble
с именем test
, который выглядит так:
date series_id.x value.x series_id.y value.y
<date> <chr> <dbl> <chr> <dbl>
1 2020-08-03 ABC 0.1 ^FHJ 0.078
2 2020-07-27 ABC 0.105 ^FHJ 0.093
3 2020-07-20 ABC 0.12 ^FHJ 0.105
4 2020-07-13 ABC 0.145 ^FHJ 0.125
5 2020-07-06 ABC 0.15 ^FHJ 0.128
6 2020-06-29 ABC 0.15 ^FHJ 0.125
7 2020-06-22 ABC 0.155 ^FHJ 0.14
8 2020-06-15 ABC 0.175 ^FHJ 0.155
9 2020-06-08 ABC 0.17 ^FHJ 0.153
10 2020-06-01 ABC 0.15 ^FHJ 0.128
Я пытался преобразовать этот tibble
в более длинные серии данных, где series_id.x
и series_id.y
становятся series_id
, а value.x
и value.y
становятся value
, столбец date
по существу остается неизменным (но фактически может использоваться для группировки, поскольку с каждой датой теперь связаны две серии, то есть series
и value
)
Я прочитал tidyr
руководство по повороту в Google и попробовал несколько перестановок, ни одна из них не сработала.
Обычно я получаю:
test %>% tidyr::pivot_longer(cols=contains(c("x","y")), names_to="series_id", values_to="value")
test %>% tidyr::pivot_longer(-date, names_to="series_id", values_to="value")
test %>% tidyr::pivot_longer(-date, names_to=c("series_id", "value"), names_pattern="(.)(.)")
test %>% tidyr::pivot_longer(cols = starts_with("series_id"), names="series_id", values="value")
Все попытки были неудачными. Я знаю, что что-то пропустил, но из руководства неясно, возможен ли мой вариант использования вообще.