tôi có các dữ liệu sau:dplyr + group_by và tránh chữ cái sắp xếp
data <- structure(list(user = c(1234L, 1234L, 1234L, 1234L, 1234L, 1234L,
1234L, 1234L, 1234L, 1234L, 1234L, 4758L, 4758L, 9584L, 9584L,
9584L, 9584L, 9584L, 9584L), time = c(1L, 2L, 3L, 4L, 5L, 6L,
7L, 8L, 9L, 10L, 11L, 5L, 6L, 1L, 2L, 3L, 4L, 5L, 6L), fruit = structure(c(1L,
6L, 1L, 1L, 6L, 5L, 5L, 3L, 4L, 1L, 2L, 4L, 2L, 1L, 6L, 5L, 5L,
3L, 2L), .Label = c("apple", "banana", "lemon", "lime", "orange",
"pear"), class = "factor"), count = c(1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), cum_sum = c(1L,
2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 1L, 2L, 1L, 2L, 3L,
4L, 5L, 6L)), .Names = c("user", "time", "fruit", "count", "cum_sum"
), row.names = c(NA, -19L), class = "data.frame")
Đối với mỗi người sử dụng trong bộ này, tôi muốn nhìn vào chuỗi các loại trái cây theo thời gian. Tuy nhiên, một số loại trái cây được liệt kê "trở lại trở lại" trong thời gian.
user time fruit count cum_sum
1 1234 1 apple 1 1
2 1234 2 pear 1 2
3 1234 3 apple 1 3
4 1234 4 apple 1 4
5 1234 5 pear 1 5
6 1234 6 orange 1 6
7 1234 7 orange 1 7
Những gì tôi đang tìm kiếm là chi tiết của một chuỗi thời gian của người dùng bằng cách độc đáo trái cây.
Vấn đề là, nếu tôi nhóm bằng cách sử dụng và trái cây sau đó tóm tắt, dplyr tự động sắp xếp hoa quả theo thứ tự abc:
data %>%
group_by(user, fruit) %>%
summarise(temp_var=1) %>%
mutate(cum_sum = cumsum(temp_var))
Những gì tôi thực sự muốn là, đối với người sử dụng 1234 trở lên (ví dụ) cho các loại trái cây được liệt kê theo thứ tự chuỗi thời gian, nhưng loại bỏ bất kỳ bản sao nào. Vì vậy, nơi chúng ta thấy táo> lê> táo> táo> lê> cam> cam, chúng tôi thay vì chỉ nhìn thấy quả táo> lê> táo> lê> cam
'dput' của bạn không hoạt động, vì nó có' vars = list (user) 'và chúng tôi không có' user'. – Frank
woops, xin lỗi về điều đó - cố định dput –
Đầu ra mong muốn của bạn sửa đổi 'time' của quả lê từ' 5' thành '4' – Frank