我不确定如何在 R 中创建堆叠条形图,该条形图显示按月分解的变量的出现次数



我的数据集,例如鲨鱼,包含一个物种名称的变量,分类为因子,以及一个变量月份,也分类为因子。我想做的是为每个月创建一个单独的条形图,显示当月捕获的每个物种的数量。或者,使用一个堆叠条形图显示所有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()

最新更新