我发现我的问题可能类似于this one,但我可以弄清楚如何根据我的情况进行调整。
我有一个数据集包含图像的日期,另一个数据集包含下雨的日期。我想删除下雨后3天内拍摄的图像。
E.g。 例如:
df1 <- data.frame(c(1,2,3,4), as.Date(c("1934-05-20", "1934-05-03", "1934-05-04", "1934-05-01")))
names(df1) <- c('img', 'date')
df2 <- data.frame(c(3,8,64,5,7), as.Date(c("1934-05-27", "1934-05-25", "1934-05-15", "1934-05-04", "1934-05-02")))
names(df2) <- c('rain', 'date')
给我们:
> df1
img date
1 1 1934-05-20
2 2 1934-05-04
3 3 1934-05-03
4 4 1934-05-01
> df2
rain date
1 3 1934-05-27
2 8 1934-05-25
3 64 1934-05-15
4 5 1934-05-04
5 7 1934-05-02
输出如下:
img date
1 1934-05-20
4 1934-05-01
UPD:
我使用了虚拟方法,但它对我有用:
i <- 0
mylist <- c(0,0)
for (x in df1$Date){
i <- i+1
x <- as.Date(x, format="%Y-%m-%d", origin = "1970-01-01")
yr <- format(as.Date(x, format="%Y-%m-%d", origin = "1970-01-01"),"%Y")
r <- subset(df2, YY == yr)
y <- x - r$Date
s <- sum(y >= 0 & y <= 3)
if (s == 0) {
mylist[i] <- FALSE
} else {mylist[i] <- TRUE
}
}
dat <- df1[!mylist, ]
答案 0 :(得分:3)
首先使用window.onload = function () {
var width = $("#p1a").width();
console.log(width)
$("#p1a").height(width);
}
创建索引:
sapply
您可以将索引用于子集idx <- sapply(df1$date, function(x) {y <- x - df2$date; sum(y >= 0 & y < 3) == 0})
:
df1
给出:
df1[idx,]