Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 绘制多个条形图_R_Ggplot2 - Fatal编程技术网

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的参考资料——这是我推荐的一个,因为它通常是为这种形式设计的,并且你将有最好的运气尝试将图表组合在一起。