我有一个数据框,概述了从两个站点连续测量的污染水平。
Dates <- as.data.frame(seq(as.Date("2015/01/01"), as.Date("2017/01/01"),"day"))
Pollution_Site.A <- as.data.frame(c(seq(from = 1, to = 366, by = 1),
(seq(from = 366, to = 1, by = -1))))
Pollution_Site.B <- as.data.frame(c(seq(from = 0, to = 365, by = 1),
(seq(from = 365, to = 0, by = -1))))
df1 <- cbind(Dates,Pollution_Site.A,Pollution_Site.B)
colnames(df1) <- c("Dates","Site.A","Site.B")
当测量员(每个站点都有一个唯一的测量员)访问每个站点时,我有一个单独的数据框突出显示。
Site<- c("Site.A","Site.A","Site.B","Site.B")
Survey_Dates <- as.data.frame(as.POSIXct(c("2014/08/17","2016/08/01",
"2015/02/01","2016/10/31")))
df2 <- as.data.frame(cbind(Site,Survey_Dates))
colnames(df2) <- c("Site","Survey_Dates")
我想要做的是(i)定义一个高污染事件(尽管也许某种形式的“应用”功能会更好地在多个站点上迭代地执行此操作)?
High_limit_Site.A <- 1.5*median(df1$Site.A)
High_limit_Site.B <- 1.5*median(df1$Site.B)
我想 (ii) 对第二个数据框进行子集化,以显示在 1 年内发生高污染事件之前和之后访问过该地点的测量员(前提是也有污染数据)。我认为'difftime'函数的某些东西在这里可以工作,但我不确定我将如何应用它。
最后,我想 (iii) 子集数据框突出显示测量员是在污染事件之前还是之后外出。
所以在上面的例子中,期望的输出应该只包含站点 B。这是因为站点 A 的第一次调查日期早于第一次污染测量,并且比高污染事件早一年多。提前感谢您对此提供的任何帮助。