Mục tiêu của báo cáo này là nhóm (bucket) toàn bộ
lệnh theo khoảng thời gian trước TGE,
để xem dòng tiền phân bố như thế nào — tập trung ngắn
hạn hay dồn từ sớm.
library(dplyr)
library(ggplot2)
library(scales)
# Load dataset đã lưu sẵn
data_joined <- readRDS("data_joined.rds")
=> Khi R Markdown render, nó hiểu đây là **văn bản hiển thị ba dấu backtick (`) trong Markdown**, chứ không phải là **khối code R để chạy**.
---
## ✅ Cách sửa đúng
Bạn cần đảm bảo **code chunk được viết đúng cú pháp, không bị lồng trong Markdown text**:
```markdown
# Đổi mốc tuần ra giờ
``` r
bucket_breaks <- c(0, 1, 6, 12, 24, 48, 72,
168, 336, 672, 1008, 1344, 2016, 4032, 6048, 8064, Inf)
bucket_labels <- c("<1h", "1-6h", "6-12h", "12-24h", "24-48h", "48-72h",
"3d-1w", "1-2w", "2-4w", "4-6w", "6-8w", "8-12w",
"12-24w", "24-36w", "36-48w", ">48w")
data_bucket <- data_joined %>%
mutate(
time_bucket = cut(
lead_time_hours,
breaks = bucket_breaks,
labels = bucket_labels,
right = FALSE
)
) %>%
group_by(token_symbol, time_bucket) %>%
summarise(
total_volume_usd = sum(order_value_usd, na.rm = TRUE),
order_count = n(),
.groups = "drop"
)
head(data_bucket)
## # A tibble: 6 × 4
## token_symbol time_bucket total_volume_usd order_count
## <chr> <fct> <dbl> <int>
## 1 0G 1-6h 12788. 16
## 2 0G 6-12h 15254. 16
## 3 0G 12-24h 1120. 6
## 4 0G 24-48h 1699. 6
## 5 0G 3d-1w 3052. 6
## 6 2z <1h 159498. 150