r - 分组酒吧聊天与每个组内的年龄范围
问题描述
我在类似于下面示例的表格中列出了人员及其组和年龄。我想根据年龄范围绘制分组条形图。
Group Age
1 G1 29
2 G2 25
3 G3 55
4 G2 33
5 G1 70
6 G3 80
我尝试了这里给出的以下语法,但不知道如何将地块分成三组和每组内的年龄范围
df<- mutate(df, age_class = cut(Age, breaks = seq(20, 80, by = 10)))
ggplot(df) + geom_bar(aes(x = age_class, fill = Group), position = "dodge") + scale_fill_manual(values = c("red", "blue", "green"))
解决方案
假设您想要一个条形图来计算每个组在每个年龄范围内出现的次数(如果不是,请纠正我,但这是您尝试过的),您可以执行以下操作:
library(tidyverse)
# Reproducing your data
df1 <- tibble(
Group = c("G1", "G2", "G3", "G1", "G2", "G3"),
Age = c(29, 25, 55, 33, 70, 80)
)
您当前尝试的问题之一是您试图cut
指向名为 的列weight
,但您的数据中不存在这样的列。要解决此问题,您可以正确参考您的列Age
,如下所示:
df1 <- df1 %>% mutate(Age_class = cut(Age, breaks = seq(20, 80, by = 10)))
然后,像这样绘制:
ggplot(df1, aes(x = Age_class, fill = Group)) +
geom_bar(position = "dodge") +
scale_fill_manual(values = c("red", "blue", "green"))
这给出了每个组中每个年龄范围的计数 - 在您的可重现示例中所有计数均为 1,因此输出图如下所示:
推荐阅读
- flutter - 没有调用 Dispose
- richtext - 寻找与 react-final-form 集成的富文本编辑器
- google-cloud-platform - 使用 Pulumi 在 GCP 上设置负载均衡器前端
- javascript - Digilocker 请求者 API 端点
- jquery - JQuery AutoComplete 函数选择标签和值
- java - while(input.hasNext()) 内的多个 input.next() 在 Java 中触发 NoSuchElementException
- java - 如何使用 sorted(comarator) 方法按字典顺序排序?
- git - 尝试测试 SSH 配置时 AWS 连接超时
- neo4j - 如何防止 neo4j MERGE 创建重复关系?
- python - 无法从每个成分容器中分离某些字段