У меня есть следующее data.frame
:
x <- data.frame(product = c(1,1,1,2,2,2),
value_day = c(0,0,150.23,110.98,18.65,0),
my_date = c("2019-01-01","2019-01-02","2019-01-03","2019-01-01","2019-01-02","2019-01-03"))
Мой анализ выглядит следующим образом:
library(tidyverse)
x %>%
group_by(product) %>%
mutate(total = sum(value_day)) %>%
arrange(my_date) %>%
slice(c(1, n())) %>%
spread(key = my_date, value = total) %>%
filter(value_day > 0)
# A tibble: 2 x 4
# Groups: product [2]
product value_day `2019-01-01` `2019-01-03`
<dbl> <dbl> <dbl> <dbl>
1 1 150. NA 150.
2 2 111. 130. NA
Но я хочу поставить даты как случаи.Как это:
product total first_sell last_sell
1 1 150.23 2019-01-03 2019-01-03
2 2 129.63 2019-01-01 2019-01-02