我已经在这个问题上工作了好几天,但我无法解决这个问题。 我有一个矩阵
gesamt
year <10 10-60 60-100 100-150 >150
2001 2001 376 57 7 0 0
2002 2015 322 60 10 2 0
2003 2016 324 59 5 2 0
我转换为data.frame: df&lt; - data.frame(gesamt)
融化它:
df.molten <- melt(df, id.vars='year', value.name='mean')
df.molten
year variable mean
1 2001 <10 376
2 2015 <10 322
3 2016 <10 324
4 2001 10-60 57
5 2015 10-60 60
6 2016 10-60 59
7 2001 60-100 7
8 2015 60-100 10
9 2016 60-100 5
10 2001 100-150 0
11 2015 100-150 2
12 2016 100-150 2
13 2001 >150 0
14 2015 >150 0
15 2016 >150 0
我想得到这样的解决方案:
但我无法策划它(没有足够的时间研究ggplot2),无论我尝试过什么。
任何提示?
答案 0 :(得分:1)
这是一项简单的任务,应该能够做到:
library(tidyverse)
df %>%
ggplot(aes(year, mean, fill = variable)) +
geom_col(position = position_dodge())
由于您的数据集与年份之间存在较大差距,因此您可以将年份列转换为带有df$year <- as.character(df$year)
的字符,并且您的图中不会有那么大的差距。