I prefer not to dichotomize continuous data whenever it is not strictly necessary. It seems you want to know what the relationship between your predictors and the outcome are given a specific set of value that is considered high. You could still do this in a continuous way without having to waste or distort information by dichotomizing.
This could perhaps be modeled instead with a quantile regression, where the conditional quantile, $\tau$, of interest is set at a value near the threshold you mention here (perhaps $Y = 100$ is around $\tau = .90$). This would allow you to estimate the response in a continuous way while still "borrowing" data from the rest of the distribution.
I simulated some data in R that matches what you describe, and then fit that data to the 90th quantile here.
#### Set Seed and Load Libraries ####
set.seed(123)
library(quantreg)
library(ggeffects)
#### Simulate Data ####
n <- 5000
age <- rnorm(n, mean = 50, sd = 10)
gender <- rep(c(0,1), each = n/2)
response <- 15 + 3*gender + .20 * age + rnorm(n)
df <- data.frame(age,gender,response)
#### Fit Model ####
tau <- .9
fit <- rq(response ~ age + gender, tau = tau)
summary(fit)
#### Plot Model ####
pred <- ggpredict(fit, terms = c("age","gender"))
plot(pred, show_data = T)
The plotted model looks like this:
You can see that for this data, the regression line is plotted to represent the conditional distribution of the relationship between our two predictors and response at levels that are considered high in the response (notice the location of the regression line is near the "top" of each cloud), rather than the typical line through the middle of the data cloud (for the conditional mean).
If you are curious about the actual interaction between each quantile, you can also just fit multiple quantiles (here $\tau = [.1, .9]$), where I just plot from ggplot()
for simplicity.
#### Library ####
library(tidyverse)
#### Set Full Range of Tau ####
tau_full <- seq(.1,.9,by=.1)
#### Plot Values ####
df %>%
ggplot(aes(x=age,response))+
geom_point(color = "gray")+
stat_quantile(quantiles = tau_full, color = "black")+
facet_wrap(~ gender)