【发布时间】:2021-06-17 22:12:36
【问题描述】:
我有一个名为“SpatialKey”的数据框,包含三列。第一列包含代表人口五分位数的 5 个类别。第二列有4种数据:0、400、800和1200。第三列代表人口。
例如
| quintile | isocrona | total |
|---|---|---|
| 4 | 1200 | 1674 |
| 1 | 400 | 1676 |
| 4 | 400 | 1723 |
| 5 | 800 | 1567 |
| 3 | 0 | 1531 |
| 3 | 1200 | 1370 |
| 2 | 1200 | 1925 |
| 1 | 400 | 1916 |
| 5 | 0 | 1776 |
| 2 | 800 | 1896 |
| 3 | 800 | 2143 |
| 5 | 400 | 2098 |
| 4 | 400 | 1496 |
| 1 | 0 | 961 |
| 4 | 800 | 1684 |
我想按五分位数对数据进行分类,并按第二列中的 4 种数据对总体进行求和。例如:
| 0 | 400 | 800 | 1200 | |
|---|---|---|---|---|
| 1 | 961 | 3592 | 0 | 0 |
| 2 | 0 | 0 | 1896 | 1925 |
| 3 | 1531 | 0 | 2143 | 1370 |
| 4 | 0 | 3219 | 1684 | 1674 |
| 5 | 1776 | 2098 | 1567 | 0 |
这是我的代码。
po <- SpatialKey %>%
group_by(quintile, isocrona) %>%
summarise_at(vars(contains("total")), sum)
final_df <- as.data.frame(t(po))
但是R给了我下表:
| V1 | V2 | V3 | V4 | V5 | V6 | V7 | V8 | V9 | V10 | V11 | V12 | V13 | V14 | V15 | V16 | V17 | V18 | V19 | V20 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| quintile | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 2 | 3 | 3 | 3 | 3 | 4 | 4 | 4 | 4 | 5 | 5 | 5 | 5 |
| isocrona | 0 | 400 | 800 | 1200 | 0 | 400 | 800 | 1200 | 0 | 400 | 800 | 1200 | 0 | 400 | 800 | 1200 | 0 | 400 | 800 | 1200 |
| total | 961 | 3592 | 0 | 0 | 0 | 0 | 1896 | 1925 | 1531 | 0 | 2143 | 1370 | 0 | 3219 | 1684 | 1674 | 1776 | 2098 | 1567 | 0 |
我将如何在 R 中做第二张表?
【问题讨论】: