将不同类别(商店) and分类为售出的黑色衬衫和非黑色衬衫:
1 (for A-H)
0.8600394
0.5191401
0.5200601
0.1275694
0.4371994
0.4352312
0.4994585
0.08854391
0 (for A-H)
0.6368297
0.4958072
0.4068714
0.3631703
0.3498011
0.2870286
0.4980114
0.05199099在R:我想绘制一个图表,在图中我显示x轴上的所有类别,每一个显示两个条形,一个表示黑色衬衫平均值,另一个表示非黑色衬衫平均数。有人能帮上忙吗?谢谢!
要从下面的步骤为我的数据绘制它,将有效(这是从一个不同的问题回答)。
dat <- data.frame(country=c('USA','Brazil','Ghana','England','Australia'), Stabbing=c(15,10,9,6,7), Accidents=c(20,25,21,28,15), Suicide=c(3,10,7,8,6))
dat.m <- melt(dat, id.vars='country').我想直接从桌子上画可能会更优雅些。
发布于 2018-10-20 12:16:33
就像其他人说的,你应该把你的数据以一种很容易过去的格式。
总之,这里:
library(tidyverse)
dat <- data.frame(country=c('USA','Brazil','Ghana','England','Australia'),
Stabbing=c(15,10,9,6,7), Accidents=c(20,25,21,28,15), Suicide=c(3,10,7,8,6))
datget是用来将其转换成长格式的:
dat.m <- dat %>% gather(crime, number, 2:4)
dat.m基本图形:
ggplot (dat.m, aes(x = country, y = number, fill = crime)) + geom_bar(stat ="identity")在您的问题中,您已经提到了方法,但是对于这些数据,您没有足够的数据按国家和平均值来进行,但是下面是按国家分列的代码:
dat.m <- dat.m %>%
group_by(country) %>%
summarise(mean = mean(number))
dat.m然后,只需更改ggplot中的变量即可。
https://stackoverflow.com/questions/52904715
复制相似问题