Я использую R-3.6.3, lubridate_1.7.4, dbplyr_1.4.2.
Представляет:
df_0 <- tibble(period_type = c("a", "b", "c"),
period_value = c("1:1:1", "2:2:2", "4:4:4")) %>%
mutate(period_value = hms(period_value))
df_0
## A tibble: 3 x 2
# period_type period_value
# <chr> <Period>
#1 a 1H 1M 1S
#2 b 2H 2M 2S
#3 c 4H 4M 4S
Пока все хорошо. Теперь, используя dplyr spread:
df_0 %>% spread(period_type, period_value)
## A tibble: 1 x 3
# a b c
# <Period> <Period> <Period>
#1 1H 1M 1S 1H 1M 2S 1H 1M 4S
Но результат должен быть
## A tibble: 1 x 3
# a b c
# <Period> <Period> <Period>
#1 1H 1M 1S 2H 2M 2S 4H 4M 4S
Часы и минуты испорчены, но, как ни странно, не секунды. Это ошибка или я что-то не так делаю?