以下是我正在使用的数据示例:
SMUGGLING VIOLENCE AUXILIARY Month
Yes No No 2017-07-01
Yes No Yes 2017-03-01
Yes No No 2017-05-01
Yes No No 2017-02-01
Yes <NA> <NA> 2016-02-01
我试图描绘走私的频率==“是”随着时间的推移(按月,2016-2017)。所以我只想在y轴上进行SMUGGLING的频率(我已经将其子集化为取出No),并在x轴上逐月进行。
这是我的代码:
ggplot(data = smugglingyes,
aes(Month, SMUGGLING)) +
stat_summary(fun.y = sum,
geom = "line") +
scale_x_date(date_labels="%Y-%m", date_breaks = "1 month")
This只是我从ggplot2获得的输出的一个粗略示例(一旦我找到正确的图表方法,它将被清理)。
我很困惑,如果这是显示计数,因为这是我认为代码的stat_summary
部分会做的,但是y轴上的“是”会误导我,并且没有y轴上的任何数字。知道如何修复此图表吗?
答案 0 :(得分:1)
为什么不在传递给ggplot之前聚合呢? E.g。
library(tidyverse)
df <- data.frame(Smuggling = "Yes",
Violence = "No",
Auxiliary = c("No", "Yes", "No", "No", NA),
Month = c("2017-07-01", "2017-03-01", "2017-05-01", "2017-02-01", "2016-02-01"))
df %>%
mutate(Month = lubridate::ymd(Month)) %>%
count(Month) %>%
ggplot(aes(x = Month, y = n)) + geom_line()