Я знаю, что plot
, созданный с использованием ниже code
, будет довольно беспорядочным, потому что данные генерируются с использованием uniform distribution
. Я хочу select
только 5 лет, когда мы наблюдали самое высокое значение на основе Variable A
. Это означает, что значения для Variable X
могут не быть высокими, поскольку мы обусловливаем выбор на основе Variable A
. Множественные пики в каждом конкретном году следует рассматривать как одно событие. После сортировки первых 5 лет я хотел бы получить plot
, как показано ниже.
library(tidyverse)
library(lubridate)
set.seed(1500)
FakeData <- data.frame(Date = seq(as.Date("2001-01-01"), to= as.Date("2010-12-31"), by="day"),
A = runif(3652, 10,100),
X = runif(3652, 5,500)) %>%
mutate(Year = year(Date), JDay = yday(Date))
ggplot(FakeData, aes(JDay, A, col=as.factor(Year)))+
geom_line()+
theme_bw() + labs(col = "Year", x = "Month of the year", y = "Levels (m)")+
theme(axis.text = element_text(size = 14), axis.title = element_text(size = 16, face = "bold"))+
scale_x_continuous(breaks = c(1,32,60,91,121,152,182,213,244,274,305,335),
labels = c("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"),
limits = c(0,365), expand = c(0, 0))
Результат
, например, на рисунке ниже, Я имею plotting
данные почти за 38 лет, однако меня интересуют только 5 лет, когда у нас самое высокое значение Level
. поэтому я хочу выбрать только эти пять лет для дальнейшего анализа. введите описание изображения здесь