【发布时间】:2024-11-20 21:35:01
【问题描述】:
我正在使用 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 传播:
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
小时和分钟搞砸了,但奇怪的是没有秒。 这是一个错误还是我做错了什么?
【问题讨论】:
-
spread已停用,因此报告奇怪的结果不会引起太多关注。试试pivot_wider。 -
感谢您指出
pivot_wider。更多信息在pivot vignette。
标签: r dplyr lubridate period spread