我需要使用ggplot x-axis绘制条形图,其中显示了bins(例如300-310,310-320,320-330等)和y轴中每个类别的“CAT”列的计数。
我是ggplot的新手。有人可以帮我用ggplot实现这个目的吗?
提前致谢。
Table:
YEAR ID Sep_wk1 Sep_wk2 Sep_wk3 Sep_wk4 Sep_wk5 CAT
1998 40015 300.05 310.11 320.65 301.25 315.82 0
1998 32014 310.25 315.85 330.25 350.25 341.56 1
1998 56525 315.56 355.25 410.85 411.25 450.25 1
1998 45012 400.65 325.23 300.25 356.25 311.25 0
答案 0 :(得分:1)
首先,您需要重塑数据:
library(tidyverse)
df <- df %>%
gather(variable, value, - YEAR, -ID, -CAT)
第一个选项:
df <- mutate(df, CAT = as.character(CAT))
ggplot(df, aes(value, fill = CAT)) +
geom_histogram(binwidth = 10, position = position_dodge())
第二个选项:
df <- df %>%
mutate(value.buckets = cut_interval(value, length = 10))
df.CAT.buckets <- df %>%
group_by(CAT, value.buckets) %>%
summarise(count = n())
ggplot(df.CAT.buckets, aes(value.buckets, count, fill = CAT)) +
geom_bar(stat = "identity", position = position_dodge())