I need to obtain value at 15th of every month from the geom line created using the reproducible example below. The original geom points are at varied monthly dates depending on data collection days. Appreciate any help possible
Value <- c(19.14104, 11.72115, 9.66083, 10.99109, 13.65047, 10.10627, 13.53027, 18.25272, 25.57741)
Dates <- c("07/11/19", "28/11/19", "16/12/19", "10/01/20", "21/01/20", "03/02/20", "04/03/20", "19/03/20", "20/05/20")
df <- data.frame(Value, Dates)
View(df)
df$Dates <- lubridate::dmy(df$Dates)
gpp_plot <- ggplot() +
geom_point(data = df, aes(x=Dates, y=Value), alpha=0.5) +
geom_line(data = df, aes(x=Dates, y=Value), alpha=0.5) +
theme(axis.text.y=element_text(size=10),
axis.title=element_text(size=10, , face = "bold"),
axis.text.x = element_text(size=10, face = "bold", angle = 45, vjust = 0.5))+
xlab('') +
ylab('LI-7810_FCH4_DRY_[nmol+1m-2s-1]') +
scale_x_date(date_labels = "%b %y",breaks = "1 months") +
theme(legend.position="none")
gpp_plot
As suggested in comments, you could approx
the Value
at new dates:
library(ggplot2)
library(lubridate)
Dates <- dmy(Dates)
NewDates <- seq(floor_date(min(Dates),'month'),floor_date(max(Dates),'month'),by='month')+days(14)
#[1] "2019-11-15" "2019-12-15" "2020-01-15" "2020-02-15" "2020-03-15" "2020-04-15" "2020-05-15"
NewValue <- approx(Dates,Value,NewDates)$y
df <- data.frame(Value=c(Value,NewValue), Dates=c(Dates,NewDates))
gpp_plot <- ggplot() +
geom_point(data = df, aes(x=Dates, y=Value), alpha=0.5) +
geom_line(data = df, aes(x=Dates, y=Value), alpha=0.5) +
theme(axis.text.y=element_text(size=10),
axis.title=element_text(size=10, , face = "bold"),
axis.text.x = element_text(size=10, face = "bold", angle = 45, vjust = 0.5))+
scale_x_date(date_labels = "%b %y",breaks = "1 months") +
ylab('LI-7810_FCH4_DRY_[nmol+1m-2s-1]') +
theme(legend.position="none")
gpp_plot