我不确定如何在 R 中创建一个堆叠条形图来显示按月分解的变量的出现
I'm unsure how to create a stacked bar chart that in R that shows the occurrences of a variable broken up by month
我的数据集,例如鲨鱼,包含一个物种名称变量,分类为一个因素,以及一个变量月份,也分类为一个因素。我想要做的是为每个月创建一个单独的条形图,以显示当月捕获的每个物种的数量。或者,单个堆叠条形图显示所有 12 个月。我已经启动了一个 ggplot 代码,但是,我不知道将什么用作 y 变量,因为这应该是每个物种的计数。
ggplot(sharks, aes(fill = Species.Name, y = count, x = Month)) +
geom_bar(position = "fill", stat = "identity")
数据集样本:
Species Name,Date,Area,Location,Latitude,Longitude,Length (m),Water Temp (C),Month,Day of Week
BLACKTIP REEF WHALER,2016-07-27,Townsville,Radical Bay,-19°6.51,146°52.63,1.1,24,July,Wednesday
BLACKTIP REEF WHALER,2016-07-29,Townsville,The Strand,-19°14.44,146°48.77,1.13,23,July,Friday
BLACKTIP REEF WHALER,2016-09-24,Townsville,Florence Bay,-19°7.3,146°53.12,1.25,27,September,Saturday
BLACKTIP REEF WHALER,2016-10-19,Cairns,Holloways Beach,-16°49.82,145°44.85,0.85,26,October,Wednesday
BLACKTIP REEF WHALER,2016-10-21,Mackay,Harbour Beach,-21°7.08,149°13.62,1.8,25,October,Friday
BLACKTIP REEF WHALER,2016-12-17,Gladstone,Tannum Sands,-23°56.91,151°22.9,0.9,27,December,Saturday
BULL WHALER,2016-01-02,Gold Coast,Tallebudgera Beach,-28°5.47,153°28.26,2.5,25,January,Saturday
BULL WHALER,2016-01-06,Capricorn Coast,Lammermoor Beach,-23°9.16,150°46.2,0.98,27,January,Wednesday
BULL WHALER,2016-01-07,Mackay,Bucasia Beach,-21°1.46,149°9.97,2.2,26,January,Thursday
BULL WHALER,2016-01-10,Mackay,Eimeo Beach,-21°1.8,149°10.8,2,26,January,Sunday
BULL WHALER,2016-01-12,Rainbow Beach,Rainbow Beach,-25°53.92,153°5.87,2.85,25,January,Tuesday
BULL WHALER,2016-01-21,Capricorn Coast,Yeppoon,-23°7.58,150°45.28,0.83,27,January,Thursday
BULL WHALER,2016-01-30,Capricorn Coast,Emu Park,-23°15.66,150°49.92,1.14,28,January,Saturday
完整的数据集包含大约 24 种鲨鱼,所以我认为带有图例的堆叠条形图是最佳选择,因为我怀疑这些名称在典型的条形图下不合适。
您可以使用 count
来查找每个月的物种数量。尝试-
library(dplyr)
library(ggplot2)
sharks %>%
count(Species.Name, Month = factor(Month, month.name)) %>%
ggplot(aes(fill = Species.Name, y = n, x = Month)) +
geom_col()
我的数据集,例如鲨鱼,包含一个物种名称变量,分类为一个因素,以及一个变量月份,也分类为一个因素。我想要做的是为每个月创建一个单独的条形图,以显示当月捕获的每个物种的数量。或者,单个堆叠条形图显示所有 12 个月。我已经启动了一个 ggplot 代码,但是,我不知道将什么用作 y 变量,因为这应该是每个物种的计数。
ggplot(sharks, aes(fill = Species.Name, y = count, x = Month)) +
geom_bar(position = "fill", stat = "identity")
数据集样本:
Species Name,Date,Area,Location,Latitude,Longitude,Length (m),Water Temp (C),Month,Day of Week
BLACKTIP REEF WHALER,2016-07-27,Townsville,Radical Bay,-19°6.51,146°52.63,1.1,24,July,Wednesday
BLACKTIP REEF WHALER,2016-07-29,Townsville,The Strand,-19°14.44,146°48.77,1.13,23,July,Friday
BLACKTIP REEF WHALER,2016-09-24,Townsville,Florence Bay,-19°7.3,146°53.12,1.25,27,September,Saturday
BLACKTIP REEF WHALER,2016-10-19,Cairns,Holloways Beach,-16°49.82,145°44.85,0.85,26,October,Wednesday
BLACKTIP REEF WHALER,2016-10-21,Mackay,Harbour Beach,-21°7.08,149°13.62,1.8,25,October,Friday
BLACKTIP REEF WHALER,2016-12-17,Gladstone,Tannum Sands,-23°56.91,151°22.9,0.9,27,December,Saturday
BULL WHALER,2016-01-02,Gold Coast,Tallebudgera Beach,-28°5.47,153°28.26,2.5,25,January,Saturday
BULL WHALER,2016-01-06,Capricorn Coast,Lammermoor Beach,-23°9.16,150°46.2,0.98,27,January,Wednesday
BULL WHALER,2016-01-07,Mackay,Bucasia Beach,-21°1.46,149°9.97,2.2,26,January,Thursday
BULL WHALER,2016-01-10,Mackay,Eimeo Beach,-21°1.8,149°10.8,2,26,January,Sunday
BULL WHALER,2016-01-12,Rainbow Beach,Rainbow Beach,-25°53.92,153°5.87,2.85,25,January,Tuesday
BULL WHALER,2016-01-21,Capricorn Coast,Yeppoon,-23°7.58,150°45.28,0.83,27,January,Thursday
BULL WHALER,2016-01-30,Capricorn Coast,Emu Park,-23°15.66,150°49.92,1.14,28,January,Saturday
完整的数据集包含大约 24 种鲨鱼,所以我认为带有图例的堆叠条形图是最佳选择,因为我怀疑这些名称在典型的条形图下不合适。
您可以使用 count
来查找每个月的物种数量。尝试-
library(dplyr)
library(ggplot2)
sharks %>%
count(Species.Name, Month = factor(Month, month.name)) %>%
ggplot(aes(fill = Species.Name, y = n, x = Month)) +
geom_col()