我需要知道两个数字范围重叠了多少整数。我尝试使用 DescTools::Overlap,但输出不是我所期望的。
library(DescTools)
library(tidyr)
df1 <- data.frame(ID = c('a', 'b', 'c', 'd', 'e'),
var1 = c(1, 2, 3, 4, 5),
var2 = c(9, 3, 5, 7, 11))
df1 %>% setNames(paste0(names(.), '_2')) %>% tidyr::crossing(df1) %>% filter(ID != ID_2) -> pairwise
pairwise$overlap <- DescTools::Overlap(c(pairwise$var1,pairwise$var2),c(pairwise$var1_2,pairwise$var2_2))
上面创建的测试数据集中每一行的输出(整列)为“10”。我想要每个特定行的重叠,所以前 3 列分别是 2、3、4。