R 绘制多个条形图
我将工资数据划分为不同的社区,并进一步细分为不同的收入等级,以及每个收入等级的误差最小值和最大值。我想用每个街区的误差幅度来划分收入等级。以下是我的数据子集:R 绘制多个条形图,r,ggplot2,R,Ggplot2,我将工资数据划分为不同的社区,并进一步细分为不同的收入等级,以及每个收入等级的误差最小值和最大值。我想用每个街区的误差幅度来划分收入等级。以下是我的数据子集: hood PHE_Less than 20k PHE_Less than 20k max PHE_Less than 20k min PHE_20k to 35k PHE_20k to 35k max PHE_20k to 35k min a 291
hood PHE_Less than 20k PHE_Less than 20k max PHE_Less than 20k min PHE_20k to 35k PHE_20k to 35k max PHE_20k to 35k min
a 291 368.38 213.62 250 331.15 168.85
b 220 283.86 156.14 125 185.47 64.53
c 226 296.82 155.18 306 394.33 217.67
d 25 41.82 8.18 73 107.94 38.06
这是我的R代码:
PHE_20k.to.35k <- ggplot ( data = mydata2
,aes ( x = hood
,y = PHE_20k.to.35k
,fill= hood)) +
geom_bar (stat = "identity", group = 2) +
geom_errorbar( aes (ymin = PHE_20k.to.35k.max
,ymax = PHE_20k.to.35k.min)
,width = .2) +
ylab("20k to 35k") +
xlab("") +
guides (fill = F)
PHE_20k.to.35k
这只给了我每个引擎盖一个收入等级。如何添加另一个
我想让两个收入等级PHE_小于20k和PHE_20k到35k,每个引擎盖的误差范围,并用图例显示哪个收入等级是哪个。实际上,我每个社区有4个收入等级,但这将帮助我完成这项工作
任何帮助都将不胜感激 您要做的第一件事是将数据转换为ggplot2的正确形状。ggplot的理念是数据采用长格式,您可以将数据变量分配给不同的美学,如颜色或位置,动态创建视觉元素。您可能需要重塑数据的一个提示是,您的列具有非常相似的名称,这表明它们包含非常相似的数据 想想你想画什么,想把不同的元素组合在一起。如果我理解正确,沿x轴的位置取决于邻域和括号。误差条的位置也取决于邻域和括号。错误条的端点取决于值的最小值和最大值 我将数据收集到一个长格式中,并使用一些正则表达式函数从键列中提取括号标签和度量类型min、max或两者都不提取,其中包含以前的列名。这个摘录是空白的标签是测量值本身,所以我用replace_na填充了这些标签,然后将其展开,这样每个括号和邻域的组合都会有一个最小值、最大值和测量值 图书馆管理员 df_整洁% gatherkey=key,value=value,-hood%>%
mutatebracket=str_extractkey,我从未想过将数据重新构造为长格式。谢谢,这很有效!在这种情况下,你应该查看一些关于ggplot的参考资料——这是我推荐的一个,因为它通常是为这种形式设计的,并且你将有最好的运气尝试将图表组合在一起。