【发布时间】:2023-03-04 08:05:05
【问题描述】:
我有一个要通过条形图绘制的数据框。数据框如下所示:
| ID | Suitability | TA | Area |
|---|---|---|---|
| 1 | Limited Suitability | Tasman | 151 |
| 3 | Suitable | Timaru | 222 |
| 3 | Limited Suitability | Timaru | 533 |
| 4 | Suitable | Grey | 1112 |
| 4 | Limited Suitability | Grey | 1234 |
| 5 | Suitable | Gore | 5426 |
# basic plotting
ggplot(TA_area, aes(x = TA, y = Area)) +
geom_col()
TA_area 指的是df。
数据基于通过重新分类矩阵创建的滑雪场的适用性。我正在努力绘制,因为当我用 Area 绘制 TA 时,它会为“Limited Suitability”和“Suitable”组合区域,因为我想创建两个显示 TA 的“Suitable”区域的图。我将如何创建“有限适用性”和“适用性”的新列,其中每个 TA 的面积值都在其下方。
| ID | Limited Suitability | Suitable | TA | Area |
|---|---|---|---|---|
| 1 | 151 | NA | Tasman | 151 |
| 3 | 533 | 222 | Timaru | 755 |
| 4 | 1234 | 1112 | Grey | 2346 |
| 5 | NA | 5426 | Gore | 5426 |
我希望每个类别下都有一个值,然后是区域列中的总和。但由于我是编码和 R 的新手,我不太确定该怎么做。
【问题讨论】:
-
“有限适用性”和“适用性”在同一地块上:
aes(x = TA, y = Area, fill=Suitability)。分面图:... + facet_wrap(vars(Suitability), ncol=2)。单独的图:lapply(unique(TA_area$Suitability), function(x) TA_Area %>% filter(Suitability == x) %>% ggplot(aes(x = TA, y = Area)) + geom_col()) 或TA_area %>% group_by(Suitability) %>% group_walk(~ggplot(aes(x = TA, y = Area)) + geom_col())。在没有 MWE 的情况下,所有代码都未经测试。 -
谢谢!我已经更新了这个问题,因为我认为我不小心复制了+粘贴了第一个表格。现在的问题显示了我想要做什么。